いくつかの情報を取得する ajax 呼び出しを実行しています。
<span id="test" abc-dir="test"> </span>
ここで、ajax 経由で返された上記の情報に対して実行する必要がある角度ディレクティブもあります。
問題は: Angular ディレクティブが最初に開始され、DOM で abc-dir を見つけようとしますが、Ajax 呼び出しが完了していないため、何もしません。最初にajax呼び出しを起動してから、Angularディレクティブを呼び出す方法は?
私の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 ディレクティブ コードは次のとおりです。
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>';
}
}
}])