diretive.js:
function myInput() { return { restrict: 'E', scope: false, templateUrl: '<div class="{{_init.colNum}}"> <div class="form-group"> <label class="control-label">{{_init.name}}</label> <input class="form-control" type="text" size="16" ng-model="yy"> </div> </div>', controller: function ($scope) { } } } html: <my-input my-model="xx"></my-input>
问题是: 我想要在myInput的指令上,在封装一个属性指令比如myModel,myModel里面的xx去替代(或者叫映射),myInput里面的yy这个ng-model,有什么好的办法。怎么去写myModel这个指令啊
使用scope 来读取这个变量
scope: false 继承父级的scope
scope: true 不继承,全新的scope
scope: { xx: '@xx ', yy: '=yy', zz: '&zz' } 从attribute读取相应的值,
这里的有3个格式
@ 读取变量
= 读取值
& 一般用于调用函数
如果 scope: false,可以这样 (万不得已的不要这样用)