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 使用您的代码作为基础来演示概念。
我有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 使用您的代码作为基础来演示概念。