我正试图在我的ng-view之前显示错误(来自任何控制器)。但是当$ rootScope更新时,我的错误var不是。
index.html
<div id="header" ng-controller="HeaderCtrl as head" class="header">
<div ng-include="'views/header.html'"></div>
</div>
<div class="container" ng-controller="MainCtrl as main">
<div ng-show="main.error" class="alert alert-danger">{{main.error}}</div>
<div ng-view=""></div>
</div>
main.js
function MainCtrl($scope,$rootScope) {
var main=this;
main.error=$rootScope.error;
}
header.js
function HeaderCtrl($rootScope) {
$rootScope.error = "NO ERROR";
function login(){
$rootScope.error = "ERROR";
}
}
当它不在登录功能中时它没关系(我看得很清楚“NO ERROR”但是当我调用login()时,我可以看到$ rootScope.error已更新但不是main.error ??
答案 0 :(得分:0)
我建议你不要做你现在正在做的事情,因为将$rootScope
变量绑定到$scope
变量实际上是多余的。就这样做,你的绑定会更少:
<div class="container" ng-controller="MainCtrl as main">
<div ng-show="error" class="alert alert-danger">{{error}}</div>
<div ng-view=""></div>
</div>
function MainCtrl($scope) {
var main=this;
}