angularjs中未更新父作用域

angularjs中未更新父作用域,angularjs,Angularjs,我有两个控制器- 父控制器 dashboardApp.controller("parentController", ['$scope', function($scope){ $scope.rootRules = {blackRule: "", blueRule: "", greenRule: "", yellowRule: "", orangeRule: "", redRule: ""}; var color = $scope.color + "Rule";

我有两个控制器-

父控制器

dashboardApp.controller("parentController", ['$scope', function($scope){
    $scope.rootRules = {blackRule: "", blueRule: "", greenRule: "", yellowRule: "", orangeRule: "", redRule: ""};
            var color = $scope.color + "Rule";
            $scope.rootRules[color] = ruleString;
            console.log($scope.rootRules);
如您所见,它有一个名为rootRules的变量,我正在子控制器中更新该变量,如-

子控制器

dashboardApp.controller("parentController", ['$scope', function($scope){
    $scope.rootRules = {blackRule: "", blueRule: "", greenRule: "", yellowRule: "", orangeRule: "", redRule: ""};
            var color = $scope.color + "Rule";
            $scope.rootRules[color] = ruleString;
            console.log($scope.rootRules);
因此,当
rootRules
具有该颜色的
时,它可以工作。但是,当
rootRules
中存储了该颜色的字符串时,我无法在屏幕上看到该代码的更新。如果需要完整的代码,请告诉我


提前感谢。

您可以访问和修改父作用域,如下所示:

$scope.$parent.rootRules[color] = ruleString;

这里有更深入的回答:

嘿,Matt,它仍然没有更新变量中的更新内容,但它没有改变代码的外观。更新已经完成,但是屏幕上没有更新。我举了一个例子来尝试匹配问题的基本内容,请看,您不需要在HTML中包含
$scope
。见更新