我有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的新手,如果我需要为我的问题添加更多信息,请告诉我
答案 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演示了这个概念,以您的代码为基础。