Angular $ scope设置为另一个$ scope值无效

时间:2014-06-11 15:25:59

标签: javascript angularjs angularjs-scope nested angularjs-controller

我试图给一个$ scope变量赋予另一个$ scope变量的值。谁能告诉我出了什么问题?有关详细信息,请查看简单的plunker:

http://plnkr.co/edit/TlKnd2fM5ajrlkKKhKZ1?p=preview

我知道我在$ scope的工作方式中缺少一个基本概念,但我无法确定它是什么。如果你不介意的话,有人打我,给我'Ahaaaa'时刻。

2 个答案:

答案 0 :(得分:2)

问题是,当greeting更改时,您分配给username属性的内容不会被重新评估。 greeting卡住username的初始(空白)值。您可以在username上设置监视并在username更改时修改问候语,或者您可以更改视图:

<div ng-controller="Parent">
    {{username}} {{greeting}}
    <!-- ... -->
</div>

分配给username时不要使用greeting

$scope.greeting = 'is so confused.';

这里是updated example

答案 1 :(得分:0)

您正在做的事情没有任何问题,但是您不能期望greeting每次username更改后都会更新自绑定(创建$watch)在greeting完成,这是一个字符串。因此,每次发生$digest循环时,它只会将您的变量greeting重新评估为相同的结果(&#34;非常困惑。&#34;)。

您需要绑定要维护的属性,如下所示:

plunker