首页 > web前端 > js教程 > 正文

angular的自定义指令如何使用

php中世界最好的语言
发布: 2018-03-16 17:15:17
原创
1604 人浏览过

这次给大家带来angular的自定义指令如何使用,使用angular自定义指令的注意事项有哪些,下面就是实战案例,一起来看一下。

自定义指定

angular.module(&#39;dir&#39;,[  ]).directive( &#39;mydir&#39; ,function(  ){   return {template:&#39;<div>hello</div>&#39;}} )
登录后复制

自定义指定对原有html的属性扩展。

指定的应用:

<div mydir> </div>写成自定义属性                      ----A----属性
-<mydir></mydir>写成元素。注意如果需要改变模板路径里面的内容,就需要使用ng-transclude,然后在模板指令的配置项里写
return {templateUrl :../template.html,transclued:true}          -----E----元素
登录后复制

可以在配置项里写templateUrl(scope:{footer:@footer}) (注意@footer中的元素标签里面的footer是属性),

Error: $compile:iscp
登录后复制
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(&#39;directiveName&#39;, function factory() {  return {
    ...
    scope: {      &#39;localName&#39;: &#39;@&#39;, // OK
      &#39;localName2&#39;: &#39;&attr&#39;, // OK
      &#39;localName3&#39;: &#39;<?attr&#39;, // OK
      &#39;localName4&#39;: &#39; = attr&#39;, // OK
      &#39;localName5&#39;: &#39; =*attr&#39;, // OK      
      &#39;localName6&#39;: &#39;attr&#39;,    // ERROR: missing mode @&=<
      &#39;localName7&#39;: &#39;attr=&#39;,   // ERROR: must be prefixed with @&=<
      &#39;localName8&#39;: &#39;=attr?&#39;,  // ERROR: ? must come directly after the mode
      &#39;localName9&#39;: &#39;<*&#39;  // ERROR: * is only valid with =
    }
    ...
  }
});
登录后复制

指令中多个单词采用驼峰命名法('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中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!