14. AngularJS中自定义指令处理

  • 关键字:directive

  • 指令的作用域: 默认情况下子控制器和父控制器用的是同一个$scope,也就是说子控制器的$scope是可以覆盖掉父控制器的$scope的赋值

  • 给子控件添加一个scope:true,作用域就不会被覆盖,就会独立出一个作用域.

  • 如果在子控制器中使用的一个属性在父控制器中定义了,在子控制器中没有定义,就算加了scope:true,也会使用父控制器的数据,相当于控制器的嵌套,自己没有,就去找父亲

  • 如果给scope设置一个{},就相当于固定作用域,只拿自己的,自己没有就不显示

  • 如果给scope设置一个可以传递参数的配置,{content:’@’},可以像接受参数一样,使用父控制器的属性

  • scope:{myTitle:’@’},属于单向传递

  • scope:{myTitle:’@’},属于单向传递,且如果在子控制器中定义的属性中也有一个myTitle,会被父控制器中的myTitle覆盖

  • scope的修饰符除了是scope:{myTitle:’@’}这种形式,还可以是scope:{myTitle:’=’},
    ”@” 和 ”=” 区别在于是 ”@” 取值的时候使用”{{}}”插入语法
    比如 ,
    ”=”, 可是直接






    
    

我是预留内容


{{msg}}
{{name}}
{{age}}

我也是预留内容哦

{{msg}} {{name}}


  • scope:{childmentod:’&’},属方法传递,父控制器传递方法给子控制器.



   

我是预留内容


  • link指令
    • controller 中的方法在编译指令前执行,一般都是处理一些业务逻辑,dom还没有加载渲染完毕就已经执行

    • 在controller里面只能处理一些数据逻辑,而不能操作DOM节点

    • link操作dom元素,所有controller在link之前被调用

    • 所有内容编译之后会调用。
      * 此方法执行时,所有的DOM元素都已经加载完毕




我是标题2


你可能感兴趣的:(14. AngularJS中自定义指令处理)