这次给大家带来angular的自定义指令如何使用,使用angular自定义指令的注意事项有哪些,下面就是实战案例,一起来看一下。
自定义指定
1 | angular.module('dir',[ ]).directive( 'mydir' , function ( ){ return {template:'<div>hello</div>'}} )
|
登录后复制
自定义指定对原有html的属性扩展。
指定的应用:
1 2 3 | <div mydir> </div>写成自定义属性 ----A----属性
-<mydir></mydir>写成元素。注意如果需要改变模板路径里面的内容,就需要使用ng-transclude,然后在模板指令的配置项里写
return {templateUrl :../template.html,transclued:true} -----E----元素
|
登录后复制
可以在配置项里写templateUrl(scope:{footer:@footer}) (注意@footer中的元素标签里面的footer是属性),
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Invalid Isolate Scope Definition
Description
When declaring isolate scope the scope definition object must be in specific format which starts with mode character (@&=<), after which comes an optional ?, and it ends with an optional local name.
myModule.directive('directiveName', function factory() { return {
...
scope: { 'localName': '@',
'localName2': '&attr',
'localName3': '<?attr',
'localName4': ' = attr',
'localName5': ' =*attr',
'localName6': 'attr',
'localName7': 'attr=',
'localName8': '=attr?',
'localName9': '<*'
}
...
}
});
|
登录后复制
指令中多个单词采用驼峰命名法('myDir')。在html中可以使用my-dir来写指令,因为html不区分大小写。
-- templateUrl(scope:{footer:@footer},replace:true)中的replace:true,可以替换掉自定义指定形成的标签。
指定的类的形式:
,但是因为默认是A||E,所以要加一个匹配模式配置项:
templateUrl(scope:{footer:@footer}, restrict:C)就可以添加成功。 ------C类------
总共有四种匹配模式:A,C,E,M(注释,比较少用),如果不写匹配模式,默认为A || E.
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
$watch,$apply和$digest数据绑定过程详解
javascript的必包详解
js的内置对象有哪些
以上是angular的自定义指令如何使用的详细内容。更多信息请关注PHP中文网其他相关文章!