【发布时间】:2015-12-30 04:02:51
【问题描述】:
我的指令的链接函数中有以下代码:
link: function (scope, elem, attrs, ngModel) {
$(elem).datagrid({
columns: [[
{ field: 'ck', checkbox: 'true' },
{ field: 'ProjectID', title: 'Project ID', width: '30%' },
{ field: 'Name', title: 'Name' }
]]
});
ngModel.$render = function (value) {
$(elem).datagrid('loadData', ngModel.$viewValue);
};
scope.$watch('projectList', function (newValue, oldValue) {
$(elem).datagrid('loadData', ngModel.$viewValue);
});
}
当最初为数组 $scope.projectList 分配数据时,两个侦听器都会被触发。在我的控制器的某个地方(仅用于测试)我正在向 $scope.projectList 添加另一个元素:
$scope.test = function () {
var project = $scope.projectList[0];
$scope.projectList.push(project);
}
此时没有任何听众被解雇。有人可以解释为什么会这样吗?
谢谢
【问题讨论】:
标签: javascript angularjs