angularjs相同的控制器使用了两次,数据更新但不在视图中

时间:2015-03-10 02:25:44

标签: angularjs

我在我的页面上使用相同的控制器两次,具有相同的数据,但我的显示方式不同(不是数组的相同部分)。

我可以看到ng-inspector在执行某些更改时正确更新了范围,并且它是重复的。但在视图中,它不会改变!默认情况下为false的简单param,在简单超时时传递为true,在视图中,它始终为false。

如果我只显示一次ng控制器,则视图会更新。

如何纠正?

1 个答案:

答案 0 :(得分:0)

好的,所以你并没有真正给出很多代码方式,但这听起来像是你成为经典范围错误之一的牺牲品。首先要尝试的是使用对象的属性,而不是范围上的基元。

这意味着代替使用此代码---

$scope.myBool = false;
{{myBool}}

使用此代码---

$scope.myBool = { value: false };
{{myBool.value}}

原因在于Angular喜欢做有趣的事情,例如使用原型进行新的范围。这意味着您将获得父作用域的原型,然后在实例化作用域时,可以使用新值覆盖父项原型,而无需更改父项值。您可以通过使用范围内的对象来实现此目的。

可能出现的第二个选项是你正在做一些不会导致角度消化周期发生的事情。您可能需要手动启动一个。

虽然没有看到任何代码,但却无法说明。