如何在我的jQuery代码中调用Angular函数?我试过f
$(document).on('click', '.myBtn', function(e) {
angular.element($(".someClass")).scope().clearBtnItems();
e.stopPropagation();
console.log("stop..prop");
});
但我得到以下错误:
Uncaught TypeError: angular.element(...).scope(...).clearAllResortsOption is not a function
那么,我怎么知道哪个ID绑定到我的控制器?我是AJS的新手,这是我正在修改的现有AJS应用程序。所以我不确定,动态如何注入控制器?
答案 0 :(得分:1)
以棱角分明的方式做到:
在模板中使用ng-click
,而不是使用jQuery click
事件。
第二件事:你不需要在角度DOM选择器中包装jQuery,因为angular.element
与jQuery $(".someClass")
完全相同。
你的例子中scope()
是什么?
答案 1 :(得分:0)
问题不在e.stopPropagation();
角度选择器中。
angular.element($(".someClass")) // << This is wrong
应该是
angular.element(".someClass")
答案 2 :(得分:0)
write seperate ng-click for both parent and child
<div ng-click = "sm.clearBtnItems()"><div ng-click ="removeBubbling($event)"></div>
$scope.removeBubbling = function($event){
// do some code here
// Prevent bubbling to showItem.
// On recent browsers, only $event.stopPropagation() is needed
if ($event.stopPropagation) $event.stopPropagation();
if ($event.preventDefault) $event.preventDefault();
$event.cancelBubble = true;
$event.returnValue = false;
}