Мой код работал в Angular 1.2, но не работает в 1.3, и я не могу понять, что изменилось в угловом и что я должен изменить в своем коде, чтобы исправить это.Что изменилось в угловом 1.3, что сломало мой код?
У меня есть plunkr example.
кода в HTML просто
{{ 'guy' | change }}
Javascript код:
angular.module('app').service('MyService', function($timeout){
var data = null;
$timeout(function(){
data = 'this is data';
},2000);
this.transform = function(){
return data;
}
});
angular.module('app').filter('change', function(MyService){
return function(input){
return MyService.transform();
}
});
Идея заключается в том, что результат фильтрации зависит от ответа асинхронного.
В Angular 1.2 вид обновлен соответствующим образом. В Угловом 1.3 это не так.
Для переключения между угловыми 1.2 и угловыми 1.3 - вам необходимо изменить маршрут на угловой в верхней части HTML-файла. между
<script data-require="[email protected]" data-semver="1.3.0" src="//code.angularjs.org/1.3.0/angular.js"></script>
и это
<script data-require="[email protected]" data-semver="1.2.0" src="//code.angularjs.org/1.2.0/angular.js"></script>
Я также попытался 1.3.1 - такой же вопрос.
Это предположение, но '$ watch' может быть ранее на всем выражении' 'guy' | change', а теперь по соображениям эффективности только на «парня», который, очевидно, не меняется. Почему вы так часто используете фильтр? Разве вы не можете просто '{{asyncData || 'guy'}} ', а затем вставьте в контроллер' $ timeout (function() {$ scope.asyncData = 'newdata';}, 2000); ' – jdotjdot