指令作用域

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

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

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

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

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

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

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

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


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


定义标签


指定修饰符


父级定义方法


传递方法

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指令作用域 1.scope为bool值 添加input标签 添加ng-model a.当为false的时候: 子控...
    miner敏儿阅读 2,790评论 0 0
  • AngularJs-1.6版本网络请求 其实和1.5版本没什么区别,就是成功的回调函数和失败的回调函数语法不同了!...
    西巴撸阅读 4,090评论 0 2
  • 指令作用域 1.指令绑定控制器,默认和父级控制器同一个作用域, 即默认 scope:false 2.作用域优先级:...
    codeTao阅读 1,094评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • AngularJS 路由 路由就是监听锚点的变化 AngularJS 1.6版本区别 请求数据返回结果时,能正确得...
    GodlinE阅读 4,136评论 0 1

友情链接更多精彩内容