JavaScript {{ something }} 前后垫空格?不垫空格?

blacktulip · 2015年03月17日 · 最后由 nightire 回复于 2015年03月17日 · 1923 次阅读

正在走 Angular 的官网教程,有这么一段:

<ul class="phones">
  <li ng-repeat="phone in phones | filter:query | orderBy:orderProp">
    <span>{{phone.name}}</span>
    <p>{{phone.snippet}}</p>
  </li>
</ul>

然后我出于习惯,中间两行写成了这样:

<span>{{ phone.name }}</span>
<p>{{ phone.snippet }}</p>

测试里面有这么一句:

var phoneNameColumn = element.all(by.repeater('phone in phones').column('phone.name'));

怎么取都取不到值

后来我想,这不会是对 {{}} 里面精确匹配吧?

然后我尝试了两种方法,一是把 HTML 里面的 {{ phone.name }} 前后垫的空格去掉,改成 {{phone.name}} ,二是把 JavaScript 测试文件里面的 'phone.name' 前后垫空格改成 ' phone.name ' ,果然两种方法都成功了。

那应该用哪种呢?....

去掉空格。我觉得应该给测试框架提交 issue,这种状况不应该出现。

习惯写:<span ng-bind="phone.name"></span>,原因可以看一下 ngCloak

需要 登录 后方可回复, 如果你还没有账号请 注册新账号