Я исполняющий вызов Ajax, который извлекает информацию: <span id="test" abc-dir="test"> </span>
вопрос синхронизации между угловой директивой и Ajax вызовом
Теперь, я также угловую директива, мне нужно работать на указанной выше информации, возвращаемой через AJAX.
Проблема заключается в том, что сначала начинается инициирование угловой директивы и пытается найти abc-dir в DOM, однако, поскольку вызов Ajax не завершен, он ничего не делает. Как сначала запустить вызов ajax, а затем вызвать угловую директиву?
Мой HTML-код:
<body ng-app="TestApp" ng-controller="TestCtrl" ng-init="init()"> <div class="test" id="testid"></div> <script> require(['jquery'], function($) { $.ajax({ type: "GET", url: "....", success: function(data) { document.getElementById('testid').innerHTML = data } }); }); </script>
Мой Угловая код директивы выглядит следующим образом:
angular.module('TestApp', ['ngSanitize']) .directive('abcDir',['abcPropertyMap',function(abcPropertyMap) { return { restrict: 'A', template: function(elm,attrs){ var value = abcPropertyMap[attrs.abcProperty]; return '<span ng-bind-html="'+value+'">x</span>'; } } }])
увидеть это http://stackoverflow.com/questions/21487617/how-do-i-make-angular-js-reevaluate- recompile-inner-html – Callebe
Почему вы используете jquery ajax, когда угловой уже предоставляет '$ http'? – PSL