Angular-UI Modal中奇怪的单向绑定

时间:2014-03-01 14:17:17

标签: angularjs angular-ui-bootstrap

我在Angular-UI-Bootstrap模式中遇到了一种奇怪的单向绑定行为。

在一个模态html中,两天的数据绑定似乎工作正常,但控制器的范围变量模型由于某种原因没有更新。

但是,如果范围变量是一个对象,那么双向绑定似乎会传播到控制器。

有谁知道为什么会这样?无论如何要解决它?

我已经找到了一个能够证明这个问题的人。

One way binding in Modal problem

1 个答案:

答案 0 :(得分:2)

这似乎是我看到人们有角度的最常见的问题; 嵌套范围。请查看以下资源:http://jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html

这基本归结为以下内容。如果您尝试访问$scope.someVal,angular会搜索父链,查找someVal,如果找到则会返回给您。如果您尝试更改someVal,则只会为当前范围创建新的someVal

如果您尝试访问$scope.someObj.someVal,则阅读的行为方式相同。除非您尝试更改someVal,否则它将更改someObj内的值,无论哪个范围指示更新。