我试图给一个$ scope变量赋予另一个$ scope变量的值。谁能告诉我出了什么问题?有关详细信息,请查看简单的plunker:
http://plnkr.co/edit/TlKnd2fM5ajrlkKKhKZ1?p=preview
我知道我在$ scope的工作方式中缺少一个基本概念,但我无法确定它是什么。如果你不介意的话,有人打我,给我'Ahaaaa'时刻。
答案 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;)。
您需要绑定要维护的属性,如下所示: