3
我有一个角度指令esResize
,我在使用隔离作用域上的双向绑定时遇到问题。角度指令双向范围不更新模板
window.estimation.directive('esResize', function() {
return {
restrict:'C',
scope: {
pointGrid: '='
},
template: "<h2>{{ pointGrid }}</h2><ul><li ng-repeat='card in pointGrid track by $id(card)'>{{ card }}</li></ul>",
controller: function($scope) {
$scope.shiftTicket = function() {
$scope.pointGrid.push("New Ticket");
};
},
link: function(scope, element, attrs) {
var height;
element.resizable({
grid: [ 10, 20 ],
handles: "n, s",
start: function(event, ui) {
//initialize method
},
resize: function(event, ui) {
scope.shiftTicket();
}
});
}
};
});
当resize
被触发,pointGrid
有“新票”推到它时,我将它输出到控制台。但是,该模板不会更新。我误解了绑定是如何链接到视图的,或者在这里有什么其他的东西吗?
编辑:pointGrid在视图中只是一个数组。
现货。谢谢。当我被允许时,将在2分钟内接受。 –
不知道这是否会做到这一点。您应该将'pointGrid:'=''更改为'pointGrid:'&''。刚刚处理这个问题,并以这种方式修复。是否调用'scope。$ apply'工作? – WebWanderer