时间:2021-05-28
首先来看看效果
效果
实现这样的效果,必须使用指令了,只有使用指令才能单独控制每一个scope。
示例代码如下:
<div class="form-group"> <label class="col-sm-2 control-label">请选择文章主题色彩</label> <div class="col-sm-10" theme-group> <label class="i-switch m-t-xs m-r"> <input type="checkbox" input-theme > <i></i> </label> <label class="i-switch bg-info m-t-xs m-r"> <input type="checkbox" input-theme> <i></i> </label> <label class="i-switch bg-primary m-t-xs m-r"> <input type="checkbox" input-theme > <i></i> </label> <label class="i-switch bg-danger m-t-xs m-r"> <input type="checkbox" input-theme> <i></i> </label> </div></div>(function () { angular .module("shishuoproject") .directive("themeGroup",function(){ return{ controller: function () { var scopeArray=[]; this.addScope= function (scope) { var self=this; scopeArray.push(scope); scope.$on("$destory",function(){ self.removeScope(scope); }) }; this.closeScope= function (scope) { //var l=scopeArray.length; angular.forEach(scopeArray, function (value) { if(value!=scope){ value.flag=false; } }) }; this.removeScope= function (scope) { var index=scopeArray.indexOf(scope); if(index!==-1){ scopeArray.splice(index,1); } }; this.getIndex= function (scope) { var index=scopeArray.indexOf(scope); return index; } } } }) .directive("inputTheme",function(){ return{ restrict:'EA', require:"^?themeGroup", template:'<input type="checkbox" ng-click="choseTheme()" ng-model="flag">', replace:true, scope:{}, link: function (scope,element,attr,themeCon) { var colorArray=['#27c24c','#23b7e5','#7266ba',' #f05050']; themeCon.addScope(scope); scope.choseTheme= function () { themeCon.closeScope(scope); var index=themeCon.getIndex(scope); var color=colorArray[index]; scope.$emit("getArticleThemeColor",{'color':color}); console.log(scope.flag); }; } } })})()这里简单说一下,实现的主要思想就是,通过指令单独生成scope,每一个指令都是一个单独的scope,这样每个ng-modal都独立出来了,然后通过继承一个总的指令来实现控制。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者使用Angular.js能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
做为一名学习路上的小白,起初就对vue.js有着莫名的好感,知道vue.js也能实现angular.js的双向绑定等一些功能后,妥妥的先把angular.js和
刚了解了下Angular.js,发现Angular.js绑定数据方面非常方便,套下教程demo:名字:你输入了:{{name}}我就想着,使用jq/js怎么实现
如下所示:实现数组随机排序//需要导入angular.js库文件varapp=angular.module("myApp",[]);vararr1=[1,2,3
本文给大家分享angular.js学习笔记之自定义指令实例代码讲解,具体代码如下所示:AngularDirective/*Angular.js自定义指令的格式和
前言本文主要给大家介绍了关于Angular.js文件上传控件ng-file-upload结合springMVC使用的相关内容,对于Angular.js文件上传控