Angular JS__指令详解

  • 指令设置选项:

   angular .module('myApp',[])
.directive('myDirective',function(){
return:{
//通过设置项来定义指令,在这里进行复写
}
});

restrict(字符串)

  • 必选参数
  • E(元素

  • A(属性、默认值)
  • C(类名)
  • M(注释)
<-- directive:my-drective expression-->

这些选项可以单独使用也可以混合使用


priority(数值型)

  • 默认值:0
  • 如果一个元素上面具有两个优先级相同的指令,声明在前面的那个会被优先调用
    ngRepeat是所有指令中优先级最高的,它总是在其他指令之前运行,参数设置为1000

terminal(布尔型)

  • true/false
  • 这个参数用来告诉AngularJS停止运行当前元素上比本指令优先级低的指令。当同当前指令优先级相同的指令
    还是会被执行。(false)

template(字符串或函数)

  • 一段HTML文本
template:
'
Hello angular
'
  • tElement/tAttrs,返回一个代表模板的字符串

templateUrl(字符串或函数)

  • 一个代表外部HTML文件的路径的字符串
  • tElement/tAttrs,返回一个外部HTML文件路径字符串
    调用指令时候会在后台通过ajax来请求HTML模板文件,在本地开发时,需要在后台运行一个本地服务器,用以加载文件系统的html模板,模板加载是异步的,以为这编译和链接要暂停,等待模板加载完成。

replace(布尔值)

  • 默认值为false ,默认值意味着模板会被当作子元素插入到调用此指令的元素内部

指令作用域、独立域

  • 默认值为false
  • 当scope设置为true时,会从父作用域继承并创建一个新的作用域对象。
  • 作用域的继承机制是向下而非向上的

隔离作用域:

   angular .module('myApp',[])
.directive('myDirective',function(){
return:{
    restrict:'AE',
    scope:{},
    priority:100,
    template:
}
});
    摘取自《AngularJs权威教程》

你可能感兴趣的:(Angular JS__指令详解)