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