Angular 嵌入内容中的范围修改
Angular scope modification inside transcluded content
Angular:谁能解释为什么指令中的嵌入内容只能更新作用域上的对象——而不是直接更新作用域上的变量。仅仅是因为对象和函数在 javascript 中是 ref 类型吗?为什么绑定以一种方式工作以及...为什么绑定会在嵌入内容中更新后中断(参见 plunker 示例)
嵌入的内容也可以更新父级的范围属性
嵌入的内容与任何其他内容一样,因此如果您遵循 dot.rule
,您将能够更新所需的父级范围属性。始终遵循 dot.rule
并重构您的逻辑以确保一切都在 angular way
.
中完成
指令作用域类型
angular 2.0 版本之前的指令接受多种类型的范围,范围可以是 true
,它创建一个新的并继承父级的属性; false
,不创建新作用域,但仍继承父级的属性;或 {}
这被称为隔离范围,这将创建一个具有零属性的新范围,它只保留您声明的属性。
单向与双向数据绑定
Angular 同时使用单向和双向数据绑定。例如,当您使用 ng-model
指令时会发生双向数据绑定,每当您更新模型时,视图都会反映这些更改,反之亦然。另一方面,当您使用插值 {{some.property}}
时,会发生单向数据绑定
如果您使用 dot.rule
,双向数据绑定应该不会中断。毕竟原型继承就是这样工作的。
查看此 Pen 以说明此答案中所说的所有内容。
Angular:谁能解释为什么指令中的嵌入内容只能更新作用域上的对象——而不是直接更新作用域上的变量。仅仅是因为对象和函数在 javascript 中是 ref 类型吗?为什么绑定以一种方式工作以及...为什么绑定会在嵌入内容中更新后中断(参见 plunker 示例)
嵌入的内容也可以更新父级的范围属性
嵌入的内容与任何其他内容一样,因此如果您遵循 dot.rule
,您将能够更新所需的父级范围属性。始终遵循 dot.rule
并重构您的逻辑以确保一切都在 angular way
.
指令作用域类型
angular 2.0 版本之前的指令接受多种类型的范围,范围可以是 true
,它创建一个新的并继承父级的属性; false
,不创建新作用域,但仍继承父级的属性;或 {}
这被称为隔离范围,这将创建一个具有零属性的新范围,它只保留您声明的属性。
单向与双向数据绑定
Angular 同时使用单向和双向数据绑定。例如,当您使用 ng-model
指令时会发生双向数据绑定,每当您更新模型时,视图都会反映这些更改,反之亦然。另一方面,当您使用插值 {{some.property}}
如果您使用 dot.rule
,双向数据绑定应该不会中断。毕竟原型继承就是这样工作的。
查看此 Pen 以说明此答案中所说的所有内容。