使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
最近在做项目时,遇到了需要用到多选按钮选中触发事件的功能,因此我查找了一下AngularJS的提供的指令,但是没有发现相应的指令。而一个看起来很像的指令就是ng-checked,但是这个指令是用来代替标签里面checked属性的,所以也用不了。因此我就自己动手试着写一个这样的指令,相应的代码如下:
<form name="test_form" ng-controller="TestCtrl"> <input type="checkbox" name="a" ng-model="a" id="check" ng-checking="say()"/> <label for="check">{{ a }}</label> </form> var app = angular.module('Demo',[]); app.directive('ngChecking',function(){ var fun1 = function(element,attrs){ return function(scope,iElement,iAttrs){ scope.$watch('a',function(){ if(iElement[0].checked){ if(iAttrs['ngChecking']){ var fun = iAttrs['ngChecking'].match(/\w+()/g); scope[fun[0]](); } } }) } } return { compile:fun1, restrict:'AE' } }) app.controller('TestCtrl',function($scope){ $scope.say = function(){ alert(123) } }); angular.bootstrap(document,['Demo']);
总结
相关推荐
雅特岚蒂斯 2018-08-24
Frankywls 2019-10-19
CrazyDogWang 2017-09-10
zbwroom 2017-09-10
zbwroom 2017-09-10
SakuraLu 2017-09-10
youyouzouzou 2016-05-11
youyouzouzou 2014-12-05
CrazyDogWang 2014-11-27
zbwroom 2014-11-24
zhenghao 2019-06-26
拓宇 2019-06-21
拓宇 2019-06-20
闲听风月 2018-07-19
carrymyteams 2018-01-15
codergirl 2017-07-05
雅特岚蒂斯 2017-06-19
emilycd 2017-06-13
飞鹰 2017-06-12