angular.js - 如何在指令里使用ng-click
问题描述
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()'

谢邀
我也弄个在线例子好了: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 } 传参 }} }
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. USE关键字4. javascript - mysql插入数据时怎样避免与库中的数据重复?5. MySQL 这句 创建表结构语句的错误在哪?6. 导入phpmyadmin的时候报错了7. MySQL能否给某个字段的值设置有效期?8. 求一个mySQL安装包9. mysql数据库做关联一般用id还是用户名10. MySQL 如何 SELECT 除去某一列的所有列?

网公网安备