您的位置:首页技术文章
文章详情页

angular.js - 如何在指令里使用ng-click

【字号: 日期:2024-09-18 14:56:16浏览:46作者:猪猪

问题描述

return {restrict: ’E’,replace: true,scope: { cancelFunc: ’&’},template: ’<section class='part-load'>’+ ’<p class='part-text'>正在加载</p>’+ ’<p ng-click='cancelFunc'></p>’+ ’</section>’,link: function (scope, elem, attrs) {} }}]);

如上,定义了一个指令partload,期望传入属性值cancelFunc,绑定ng-click事件,html结构:

<partload cancel-func='stop()'></partload>

控制器中定义了一个stop方法:

$scope.stop = function () { alert(1)}然而并不会触发,为啥呢?如何解决呢?

问题解答

回答1:

谢邀

在线示例的地址:https://plnkr.co/edit/LBb4dN7...跟你唯一不同的地方ng-click='cancelFunc()'

angular.js - 如何在指令里使用ng-click

回答2:

谢邀

我也弄个在线例子好了:https://embed.plnkr.co/SirYJd...

试试这样

return {restrict: ’E’,replace: true,scope: { cancelFunc: ’&’},template: ’<section class='part-load'>’+ ’<p class='part-text'>正在加载</p>’+ ’<p ng-click='_cancelFunc()'></p>’+ ’</section>’,link: function (scope, elem, attrs) { scope._cancelFunc = function(){// 这里可以写一些指令内部逻辑scope.cancelFunc({id: 1}); // { id : 1 } 传参 }} }

相关文章: