在我的控制器中点击事件

时间:2015-06-12 13:06:23

标签: angularjs angularjs-directive controller scope

我在我的控制器中写了代码:

<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。

有人可以帮助我.. 感谢

1 个答案:

答案 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将更新。然后你看内部指令就会接到电话。