指令定义语法澄清
Directive definition syntax clarification
如果我在指令定义中声明以下隔离作用域:
scope: {
state: '=',
},
是否准确地说,=
将隔离范围上的state
属性链接到与指令声明上名为state
的属性相关的表达式返回的值,在父范围内运行?
例如你的指令如下,
<div ng-controller="testCtrl">
<directive-name state="scope_variable"></directive-name>
</div>
如果我们像这样使用
scope: {
state: '=',
},
指令上的state
属性应该是$scope (testCtrl's)
变量,如果它是一个作用域变量,那么state
指向testCtrl
作用域中的相同变量。
或者像...state="'scope_variable'"...
这样的表达式,那么它是一个字符串,它不指向作用域变量,如果你将它定义为...state="1+2"...
,那么它是一个表达式,因此state
变量在指令作用域内等于3
。
希望这有意义。
这里是一个演示。
注意
如果我们将指令定义为隔离作用域scope: {}
,那么angular将从它的直接父作用域(上一个例子的父作用域是scope of testCtrl
)创建一个子作用域。
查看所提供的演示控制台,并看到console.log(scope.$parent.name);
指向MainCtrl
作用域中的$scope.name
。
相关文章:
- 如何定义const函数javascript(语法糖)
- JS中奇怪的函数定义语法
- 通过“a”语法定义类
- “=>"在javascript中定义函数的语法及其意义
- 在jQuery方法中编写自定义属性的正确语法是什么
- 如何使用子上下文可访问的自定义属性扩展模板绑定语法
- 节点.js未定义:1 [语法错误:输入意外结束]
- angularjs:vm 是未定义的,当在指令中使用 contronllerAs 语法时
- 用于定义自定义服务的语法
- 为什么不在对象外部使用属性定义语法是语法错误
- JS getters:定义属性替换或补充旧的内联“get”“set”语法
- PHP 函数未定义错误和语法错误, 在生成的 HTML 中放错位置
- 更正 JavaScript 语法以将字符串变量附加到 Google Analytics 自定义事件
- 未捕获的语法错误:未定义 x
- Ajax - Spring 发送 javascript 对象并接受为自定义对象.客户端发送的请求在语法上不正确
- 用于定义参数的 JavaScript 语法
- 如何使用对象文本语法定义函数
- 未捕获的语法错误:意外的标记<和未捕获的引用错误:未定义 myFunction
- javascript函数未定义错误.语法
- 允许在PEG.js语法定义中使用引号和unicode