Javascript 角度$scope设置为另一个$scope值无效
我试图给一个$scope变量赋予另一个$scope变量的值。有人能告诉我出了什么问题吗?有关详细信息,请查看简单的plunker:Javascript 角度$scope设置为另一个$scope值无效,javascript,angularjs,angularjs-scope,nested,angularjs-controller,Javascript,Angularjs,Angularjs Scope,Nested,Angularjs Controller,我试图给一个$scope变量赋予另一个$scope变量的值。有人能告诉我出了什么问题吗?有关详细信息,请查看简单的plunker: 我知道我在$scope的工作方式中遗漏了一个基本概念,但我无法准确指出它是什么。如果你不介意的话,有人打我一巴掌,给我一个“Ahaaaa”的时刻。问题是,当用户名更改时,你分配给问候属性的内容不会得到重新评估问候语被用户名的初始(空白)值卡住。您可以在用户名上设置手表,并在用户名更改时修改问候语,或者您可以更改视图: <div ng-controller="
我知道我在$scope的工作方式中遗漏了一个基本概念,但我无法准确指出它是什么。如果你不介意的话,有人打我一巴掌,给我一个“Ahaaaa”的时刻。问题是,当
用户名
更改时,你分配给问候
属性的内容不会得到重新评估<代码>问候语被用户名
的初始(空白)值卡住。您可以在用户名
上设置手表,并在用户名
更改时修改问候语,或者您可以更改视图:
<div ng-controller="Parent">
{{username}} {{greeting}}
<!-- ... -->
</div>
这是一个。您所做的没有错,但是您不能期望
问候语
在每次用户名
更改时都得到更新,因为绑定(创建$watch
)是在问候语
中完成的,这是一个字符串。因此,每次出现$digest
循环时,它都会重新计算变量greeting
,得到相同的结果(“非常混乱”)
您需要绑定要更新的属性,如下所示:
啊!我确实需要在问候语变量中包含username变量,所以手表是最好的选择!我在这里拍了一张照片:
$scope.greeting = 'is so confused.';