angularjs自定义ng-model标签的属性_AngularJS
例如:我页面中使用了contenteditable这个属性来实现用户可直接编译的div元素
html:
但是直接绑定ng-model是肯定得不到数据的,这时就需要为其增加自定义的属性,如下所示。
js:
其中参数类别如下:
部分参数解释
restrict:
(字符串)可选参数,指明指令在DOM里面以什么形式被声明;
取值有:E(元素),A(属性),C(类),M(注释),其中默认值为A;
E(元素):
A(属性):
C(类):
M(注释):
2.require
字符串代表另一个指令的名字,它将会作为link函数的第四个参数
具体用法我们可以举个例子说明
假设现在我们要编写两个指令,两个指令中的link链接函数中(link函数后面会讲)存在有很多重合的方法,
这时候我们就可以将这些重复的方法写在第三个指令的controller中(上面也讲到controller经常用来提供指令间的复用行为)
然后在这两个指令中,require这个拥有controller字段的的指令(第三个指令),
最后通过link链接函数的第四个参数就可以引用这些重合的方法了。
上面例子中的指令innerDirective和指令innerDirective2复用了定义在指令outerDirective的controller中的方法
也进一步说明了,指令中的controller是用来让不同指令间通信用的。
另外我们可以在require的参数值加上下面的某个前缀,这会改变查找控制器的行为:
(1)没有前缀,指令会在自身提供的控制器中进行查找,如果找不到任何控制器,则会抛出一个error
(2)?如果在当前的指令没有找到所需的控制器,则会将null传给link连接函数的第四个参数
(3)^如果在当前的指令没有找到所需的控制器,则会查找父元素的控制器
(4)?^组合
推荐阅读
-
解决angularJS中input标签的ng-change事件无效问题
-
AngularJS创建自定义指令的方法详解
-
AngularJS自定义服务与fliter的混合使用
-
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
-
对angularJs中自定义指令replace的属性详解
-
AngularJs1.x自定义指令独立作用域的函数传入参数方法
-
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
-
Angularjs使用directive自定义指令实现attribute继承的方法详解
-
详解angularJs中自定义directive的数据交互
-
AngularJS中的Directive自定义一个表格