AngularJS - Обновление v1.2.5 до 1.3 для однократного использования bind
Я пытаюсь улучшить производительность моего ng-repeat. Я обновил свой проект для использования библиотеки v1.3.0 (основная библиотека и маршрут).
Я пытаюсь использовать привязку один раз, как здесь: привязки, вложенные в ленивую одноразовую привязку ng-repeat, только один раз?
Однако, когда я добавляю:: к моему 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
ОБНОВЛЕНИЕ Обновлен до бета 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) Отметка времени: пятница, 15 августа 2014 г., 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
2 ответа
Синтаксис Bindonce ::
была введена начиная с версии angularjs 1.3.0-beta.16
Вам необходимо обновить angularjs до версии 1.3.0-beta.16 или новее.
Пожалуйста, посмотрите здесь демонстрационный пример http://jsbin.com/wimon/2/edit
Используйте последнюю бета-версию angularjs
<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>