在页面上,我具有以下结构:


layoutController(在js控制器中:$ scope.currentProject =“”)

{{currentProject.Name}}
projectListController-(在js控制器中,我用一个对象填充$ scope.currentProject的值)



问题在于,一旦我设置了新值,{{currentProject.Name}}就会保持空白。

少了什么东西?

最佳答案

当您在父级的$ scope中定义属性时,该属性会通过原型链继承,如果在子级$ scope中重新定义该属性,则会丢失该引用。

因此,进行操作的方式应在projectListController中,而不是将对象分配给currentProject,而应将属性复制到其中。或将对象分配给$ scope。$ parent.currentProject。

关于javascript - 如何在AngularJS嵌套 Controller 中更改顶级范围变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24086374/

10-10 00:24