2

我正在尝试提高我的 ng-repeat 的性能。我已升级我的项目以使用库 v1.3.0(主库和路由)。

我正在尝试使用一次绑定,如下所示:Do bindings nested inside a lazy one-time ng-repeat binding 只有一次绑定?

但是,当我将 :: 添加到我的 ng-repeat 时,不会填充列表:

<li ng-repeat="info in Profile.ChangeInfo">                 
    <p> {[{info.Message}]} </p>
</li>

以上工作。

以下失败:

<li ng-repeat="info in ::Profile.ChangeInfo">                   
    <p> {[{::info.Message}]} </p>
</li>

我看到的错误是:

Error: [$parse:syntax] http://errors.angularjs.org/1.3.0-beta.9/$parse/syntax?p0=%3A&p1=not%20a%20primary%20expression&p2=1&p3=%3A%3AProfile.ChangeInfo&p4=%3A%3AProfile.ChangeInfo

更新 升级到 beta 16,现在在 IE8 中看到这个错误:

网页错误详情

用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;WOW64;Trident/4.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0; .NET4.0C;.NET4.0E;MS-RTC LM 8;InfoPath.3) 时间戳:2014 年 8 月 15 日星期五 12:01:03 UTC

Message: [$injector:modulerr] Failed to instantiate module ng due to:
Object doesn't support this property or method
http://errors.angularjs.org/1.3.0-beta.16/$injector/modulerr?p0=ng&p1=Object%20doesn't%20support%20this%20property%20or%20method
Line: 3982
Char: 7
Code: 0
URI: http://local host:1010/js/vendor/angular.js
4

2 回答 2

7

从 angularjs 版本 1.3.0-beta.16::开始引入了bindonce 语法

您必须将 angularjs 升级到 1.3.0-beta.16 或更高版本。

于 2014-08-15T11:39:22.483 回答
2

请参阅此处的示例演示http://jsbin.com/wimon/2/edit

使用最新的 angularjs beta

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.18/angular.min.js"></script>

删除方括号

<li ng-repeat="info in ::Profile.ChangeInfo">                   
    <p> {{::info.Message}} </p>
</li>
于 2014-08-15T11:27:30.007 回答