我在我的控制器中写了代码:
<div style= "width:35px;" class="ele">test 1</div> //set to fixed width
<span class="ele">test 2</span>
在我的指示中,我有这个:
$('#categoryId').on('click', function(event){
$scope.items = $scope.getUpdatedItems ();
console.log('Items ',$scope.items );
});
问题是我从未输入我的指令中声明的$ watch。
有人可以帮助我.. 感谢
答案 0 :(得分:0)
你不应该将jQuery与AngularJS混淆,这会破坏角度上的摘要周期。 Angular确实提供了自己的指令来处理这样的活动,就像在你的情况下你可以使用ng-click
指令一样,这将在点击该元素时调用ng-click
属性值中提到的函数。
<强>标记强>
<button type="categoryId" ng-click="updateAllItems()"></button>
<强>代码强>
$scope.updateAllItems = function(){
$scope.items = $scope.getUpdatedItems ();
console.log('Items ',$scope.items );
});
上面的代码将调用驻留在控制器内部的updateAllItems
功能。然后$scope.items
将更新。然后你看内部指令就会接到电话。