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,可以这样 (万不得已的不要这样用)