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