Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度$scope设置为另一个$scope值无效_Javascript_Angularjs_Angularjs Scope_Nested_Angularjs Controller - Fatal编程技术网

Javascript 角度$scope设置为另一个$scope值无效

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变量赋予另一个$scope变量的值。有人能告诉我出了什么问题吗?有关详细信息,请查看简单的plunker:


我知道我在$scope的工作方式中遗漏了一个基本概念,但我无法准确指出它是什么。如果你不介意的话,有人打我一巴掌,给我一个“Ahaaaa”的时刻。

问题是,当
用户名
更改时,你分配给
问候
属性的内容不会得到重新评估<代码>问候语被
用户名
的初始(空白)值卡住。您可以在
用户名
上设置手表,并在
用户名
更改时修改问候语,或者您可以更改视图:

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

这是一个。

您所做的没有错,但是您不能期望
问候语
在每次
用户名
更改时都得到更新,因为绑定(创建
$watch
)是在
问候语
中完成的,这是一个字符串。因此,每次出现
$digest
循环时,它都会重新计算变量
greeting
,得到相同的结果(“非常混乱”)

您需要绑定要更新的属性,如下所示:


啊!我确实需要在问候语变量中包含username变量,所以手表是最好的选择!我在这里拍了一张照片:
$scope.greeting = 'is so confused.';