angular 1.6 无法在模板中显示范围值

angular 1.6 unable to show scope value in template

我有index.html

上一个

<body ng-app="MainController">
     <div class="page page-base {{ pageClass }}" ng-view>
     </div>
</div>

我在 registerController 中为 $scope.errorMsg 分配了一些值,所以改变了 更改为

    <body ng-app="myApp">
     <div class="page page-base {{ pageClass }}" ng-view>
        <div ng-controller="MainController" ng-click="doClick($event)"></div>
        <div ng-controller="RegisterController"></div>
     </div>
</div>

在控制器中,当我执行 console.log 它会打印值,但不会显示在 error.html 页面上。

$scope.errorMsg = data.message;
$location.path("/reg/error");

我是 Angular 的新手,如果我需要为我的问题添加更多信息,请告诉我

在 RegisterController 范围内尝试 interpolation:

<div ng-controller="RegisterController">{{errorMsg}}</div>

更新

对于那些 angular 新手来说,一个常见的混淆来源是示波器和控制器随风而来,而且在何处放置瞬态数据并不明显。

由于 angular 服务是单例,一个解决方案是实现一个服务来存储瞬态 - 在 OP 的情况下,"errorMsg" - 在视图更改中。

这是一个简单的单例服务。

app.factory('StateService', function() {
   // A singleton object to stuff transient data
   return { };
});

它很容易像这样传递给控制器​​实例

app.controller('ErrorController', ['$scope', 'StateService', function($scope, states) { 
 . . .
});

Here's a plunkr 使用您的代码作为基础来演示概念。