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

时间:2017-01-04 18:17:11

标签: javascript angularjs angularjs-1.6

我有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的新手,如果我需要为我的问题添加更多信息,请告诉我

1 个答案:

答案 0 :(得分:1)

在RegisterController范围内尝试interpolation

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

<强>更新

对于那些新的角度来说,混淆的常见原因是示波器和控制器随风而来,并且在哪里放置瞬态数据并不明显。

由于角度服务是单例,一种解决方案是实现一种服务来存储瞬态 - 在OP的情况下,&#34; errorMsg&#34; - 在观点变化中。

这是一项简单的单身人士服务。

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

它很容易传递给控制器​​实例,如此

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

Here's a plunkr演示了这个概念,以您的代码为基础。