Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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
Angularjs 父视图没有';t反映子控制器的更改_Angularjs_Angularjs Scope - Fatal编程技术网

Angularjs 父视图没有';t反映子控制器的更改

Angularjs 父视图没有';t反映子控制器的更改,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我对棱角有点陌生,所以如果这是一个noob问题,我道歉。基本上我有一个控制器,它试图改变父作用域上的值。它成功了,但父视图从未更新 我的父视图看起来是这样的: <html ng-app="app" ng-controller="appController"> <head> ... </head> <body> This is the outer view.<br> <br> {

我对棱角有点陌生,所以如果这是一个noob问题,我道歉。基本上我有一个控制器,它试图改变父作用域上的值。它成功了,但父视图从未更新

我的父视图看起来是这样的:

<html ng-app="app" ng-controller="appController">
  <head>
      ...
  </head>
  <body>
    This is the outer view.<br>
    <br>
    {{ welcome }}
    <div ng-view style="width: 100%; border: 1px solid black; padding: 10px;">

    </div>
  </body>
</html>

代码执行了,但我从来没有像我预期的那样看到“它工作!!!!!!!”的消息。这里有一个plunker演示了我的问题:

要像这样应用对父作用域的更改,需要将数据嵌套到对象中

例如,如果您的家庭控制器具有以下功能:

 $scope.someObject = {};
 $scope.someObject.welcome = "Hello from the appController!"
然后是您的子控制器:

$scope.$parent.someObject.welcome = "Hello from the homeController!";
这将正常工作

以下是更新的Plunker:


非常非常相关:

你读过angularjs中的广播和发射事件吗?即使我是angularjs的新手,也读过这些事件,它们会帮助你解决问题。我个人更喜欢使用一种方法,比如:
$scope.$parent.someObject.welcome = "Hello from the homeController!";