我想绑定一个数组(customLayers)并将其用于ng-repeat。 我在kv.colorMap对象中填充数组。 我有三个指令使用这些技术。但该指令仅在按下此指令中的无函数按钮(checkResult)后才在视图上更新绑定数组。
指令模板代码:
...
<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!");};
});
有人有想法吗? 非常感谢你!
答案 0 :(得分:0)
谢谢MirMasej!
你是对的,我在渲染后调用它。也许是因为我使用了画架的EaselJs库。我想在点击此画布内的一个块后获得更新。
我通过添加来解决它,如果有人有更好的想法我会尝试:
kv.colorMap.onChangedLayer = function(layer) {
$timeout(function(){
$scope.$apply();
});
};
我在更改colorMap对象内的数据后调用此onChangedLayer事件。