转换内容中的角度范围修改

时间:2016-04-09 18:32:03

标签: angularjs angularjs-scope using-directives angularjs-ng-transclude

Angular:任何人都可以解释为什么指令中的被盗内容只能更新作用域上的对象 - 而不是直接在作用域上的变量。是因为对象和函数是javascript中的ref类型,为什么绑定以单向工作?为什么绑定在转换内容中更新后会中断(参见plunker示例)

- Plunker sample - variable on scope vs object on scope

工作- Plunker sample - variable on scope

1 个答案:

答案 0 :(得分:0)

已转换的内容还可以更新父级的范围属性

被抄送的内容与任何其他内容一样,因此,如果您按照dot.rule,您将能够更新所需的父作用域属性。始终遵循dot.rule并重构您的逻辑,以确保在angular way中完成所有操作。

指令范围类型

2.0版本之前的角度指令接受几种类型的范围,范围可以是true,它创建一个新的范围并继承父级的属性; false,它不会创建新范围,但仍会继承父级的属性;或者{},它被称为隔离范围,这将创建一个零属性的新范围,它只保留您声明的属性。

单向与双向数据绑定

Angular使用单向和双向数据绑定。例如,当您使用ng-model指令时会发生双向数据绑定,每当您更新模型时,视图都会反映这些更改,反之亦然。另一方面,使用插值{{some.property}}

时会发生单向数据绑定

如果使用dot.rule,双向数据绑定不应中断。这就是原型继承的工作方式。

查看此Pen以说明此答案中所述的所有内容。