美文网首页
指令作用域

指令作用域

作者: daisx | 来源:发表于2017-07-08 15:37 被阅读0次

默认情况规则:A、子级中没有对应数据,会去父级查找数据。

                              B、子级和父级使用的是同一个$scope数据,子级父级如果同时存在数据相同,父级会被子级数据所替代掉,子级若不存在,则会使用规则A到父级查找后使用。

                              C、对作用域内的作用与当前的某一级数据进行相对应的更改,子级和父级都会更改。

对默认规则的更改可以使用scope关键字来修改,可以接受两种类型参数;

参数1:可以接收布尔值作为参数,false:表示对默认规则不做更改。true:又可以分情况讨论;一、当子级父级都存在的时候,互不影响,各自独立工作。二、如果当子级不存在时,第一次打开页面时,会首先使用父级的的数据,而且父级更改操作,子级也会对应更改。然后对子级进行第一操作后,就会动态为子级创建了一个作用域,此时scope操作数起作用,和父级就不在相关联,对子级的操作也不会影响到父级。三、但是,父级如果不存在,却不会去子级查找数据,默认就会为空,而且对父级的操作,对子级也不会有影响。相互独立。

参数2:{},用一个空对象来隔离作用域。子级和父级不在相互受到任何影响。

对象的内部可以传递参数,修饰符‘@’:A:@修饰符可以实现子级无定义数据的情况下,突破规则的限制,用插值语法实现和父级共享参数。借用到父级的数据。但需要注意的是子级被传递过来数据后,自身发生的增删操作,不会影响到父级。B:子级在定义了数据的情况下,而在标签内使用了插值语法,依然拥有外界传参的优先级,而不会显示自定义的数据。和scope:true类似。

修饰符“=”:=修饰符取消了@修饰符的插值语法,而直接使用赋值的方式,也是=本身来进行传参。使用了=修饰符,子级和父级之间会互相影响,和scope:false时类似。

修饰符“&”:用于传递方法;

定义标签 指定修饰符 父级定义方法 传递方法

其传递规则需要主要几点:子级自己定义方法后,外界的传递方法会被取消,而传递子级的方法。

相关文章

  • PHP指令作用域

    PHP总共有4个配置指令作用域:(PHP中的每个指令都有自己的作用域,指令只能在其作用域中修改,不是任何地方都能修...

  • 指令作用域

    默认情况规则:A、子级中没有对应数据,会去父级查找数据。 B、子级和父级使用的是同一...

  • 自定义指令问题

    每自定义一个指令,都会有自己的作用域。 默认情况下,指令当中的作用域与父作用域是同一个 ($scope就是同一个)...

  • AngularJS中controller作用域的继承与隔离

    我在以前的文章里写过关于指令的作用域继承与格里,指令作用域继承与隔离,可以在 directive 中通过 scop...

  • 2017-5-21 AngularJS学习笔记

    指令作用域 自定义指令可以又自己的控制器,自己的模型和作用域 默认情况,指令使用的模型是和它所在的控制器的模型是同...

  • angularjs ng-if 与 ng-repeat下的ng-

    那么ng-model指令对应的作用域属性子级作用域,而并非控制器注入的$scope作用域对象,这点在进行双向数据绑...

  • xdl2

    指令式编程 顺序结构 分支结构 循环结构 变量作用域

  • 15.指令作用域

    指令作用域 1.scope为bool值 添加input标签 添加ng-model a.当为false的时候: 子控...

  • ng指令

    ng指令会自动生成一个js作用域因此里面无需用模板

  • iOS开发之宏定义的使用

    a、宏定义是预处理指令,所有的预处理指令以#开头 b、预处理指令的作用域是在编写指令的那一行开始,到文件的结尾结束...

网友评论

      本文标题:指令作用域

      本文链接:https://www.haomeiwen.com/subject/xfpdhxtx.html