当前位置: 首页 > 编程笔记 >

详解Angular.js指令中scope类型的几种特殊情况

车胤运
2023-03-14
本文向大家介绍详解Angular.js指令中scope类型的几种特殊情况,包括了详解Angular.js指令中scope类型的几种特殊情况的使用技巧和注意事项,需要的朋友参考一下

前言

大家都知道在默认情况下,指令应该访问父作用域.如果我们对指令暴露了父控制器的scope,那么指令就可以自由的修改scope属性.在一些情况下,你的指令可能想要添加一些只有内部可以使用的属性和函数,如果我们都在父作用域中完成,可能会污染了父作用域,因此,我们有以下两种选择:

使用父作用域-如果不需要操作父作用域属性,不需要一个新的作用域,可以直接使用父作用域

scope:false

一个子作用域-这个作用域会原型继承父作用域

scope:true

一个隔离的作用域-一个全新的、不继承、独立存在的作用域

scope:{}

作用域可以由指令定义对象中的scope属性定义,下面是关于scope属性的一些说明:

指令中的scope常见的类型

=

  1. '=',用于子作用域与父作用域双向绑定.使用这种方法可以将一个实际的作用域模型赋值给一个属性,而不是一个普通的字符串.效果是你可以传递复杂的数据模型,例如数组/对象等到隔离作用域.父作用域或者子作用域属性发生了改变,会相应影响对方.
  2. '=?',这种情况可以避免父作用域属性中不存在当前属性情况,避免抛出异常.--'If the parent scope property doesn't exist, it will throw a NON_ASSIGNABLE_MODEL_EXPRESSION exception. You can avoid this behavior using `=?` or `=?attr` in order to flag the property as optional.'
  3. '=*',If you want to shallow watch for changes (i.e. $watchCollection instead of $watch) you can use `=*` or `=*attr` (`=*?` or `=*?attr` if the property is optional).

&

  1. '&',用于执行父作用域中的函数.

@

  1. '@',进行单项文本绑定.使用这种方法可以将字符串传递到属性,当父作用域属性发生变化时,隔离作用域模型也发生变化.然而,反之则不成立!你不能通过操纵隔离作用域来改变父作用域.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 本文向大家介绍C# 特殊的string类型详解,包括了C# 特殊的string类型详解的使用技巧和注意事项,需要的朋友参考一下 1.前言 string是属于引用类型的,这个大家都知道吧?但是平常在使用的过程中,发现它还是拥有一些值类型的特征的,这到底是为什么呢? 原因就是.Net考虑到假如大量的操作string对象的时候,大量对引用对象进行操作的时候,性能肯定不如值类型来的爽快。.Net为了提高这

  • 本文向大家介绍Angular.JS中的this指向详解,包括了Angular.JS中的this指向详解的使用技巧和注意事项,需要的朋友参考一下 【this详解】 1、谁最终调用函数,this指向谁。       ① this指向的,永远只可能是对象!!!!!!       ② this指向谁,永远不取决于this写在哪!!而是取决于函数在哪调用。       ③ this指向的对象,我们称之为函数

  • 本文向大家介绍Angular.js之作用域scope'@','=','&'实例详解,包括了Angular.js之作用域scope'@','=','&'实例详解的使用技巧和注意事项,需要的朋友参考一下 什么是scope   AngularJS 中,作用域是一个指向应用模型的对象,它是表达式的执行环境。作用域有层次结构,这个层次和相应的 DOM 几乎是一样的。作用域能监控表达式和传递事件。   在 H

  • 本文向大家介绍AngularJS中关于ng-class指令的几种实现方式详解,包括了AngularJS中关于ng-class指令的几种实现方式详解的使用技巧和注意事项,需要的朋友参考一下 前言 开发中经常会遇到这样的需求,一个元素需要在不同的状态下呈现不同的样子,而在这所谓的的样子当然就是改变其css的属性,而实现动态的改变属性值,我们就需要实现动态的更换其class属性值。 在这给大家介绍三种方

  • Spring的DispatcherServlet使用了特殊的bean来处理请求、渲染视图等,这些特定的bean是Spring MVC框架的一部分。如果你想指定使用哪个特定的bean,你可以在web应用上下文WebApplicationContext中简单地配置它们。当然这只是可选的,Spring MVC维护了一个默认的bean列表,如果你没有进行特别的配置,框架将会使用默认的bean。下一小节会介

  • 本文向大家介绍详解golang中发送http请求的几种常见情况,包括了详解golang中发送http请求的几种常见情况的使用技巧和注意事项,需要的朋友参考一下 方式一 使用http.Newrequest 先生成http.client -> 再生成 http.request -> 之后提交请求:client.Do(request) -> 处理返回结果,每一步的过程都可以设置一些具体的参数,下面是一个