配列(customLayers)をバインドしてng-repeatに使用したいとします。 kv.colorMapオブジェクトの内側に配列を塗りつぶします。 私はこれらのテクニックを使って3つの指令を持っています。しかし、このディレクティブは、このディレクティブの内部にある機能のないボタン(checkResult)を押した後にのみ、バインドされた配列をビューで更新します。AnguarJs:ng-repeatは、指示ボタンの内側のボタンをクリックした後にのみ動作します。
指令テンプレートコード:
...
<div class="createInfo colorExprContainer">
<div ng-repeat="layer in customLayers">{{layer.color}}</div>
</div>
<div class="buttonWrapper text-center">
<button class="btn" ng-click="checkResult()">Ergebnis prüfen</button>
</div>
...
指令JavaScriptのコード:
app.directive('boolKv', function($parse, $timeout){
return {
restrict: 'E',
replace:true,
scope:true,
templateUrl: "directives/boolKV/boolKV.html",
link: function($scope, $element, $attr) {
...
var kv = new BAKV({target: cv[0].id, expr: expr});
$scope.customLayers = kv.colorMap.layers;
...
$scope.checkResult = function(){console.log("it works!");};
});
誰かがアイデアを持っていますか? ありがとうございます!
ディレクティブが既にレンダリングされているときにデータを読み込むためではありませんか?参照:http://stackoverflow.com/a/19261577/2747533 – MirMasej
あなたは正しいです、ありがとう! –