Javascript angularjs本地主控制器变量不使用rootscope更新
我试图在ng视图之前显示错误(来自任何控制器)。但是,当$rootScope很好地更新时,我的错误var就不是了 index.htmlJavascript angularjs本地主控制器变量不使用rootscope更新,javascript,html,angularjs,Javascript,Html,Angularjs,我试图在ng视图之前显示错误(来自任何控制器)。但是,当$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-contr
<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>
header.js
function HeaderCtrl($rootScope) {
$rootScope.error = "NO ERROR";
function login(){
$rootScope.error = "ERROR";
}
}
当它不在login函数中时就可以了(我很清楚地看到“无错误”,但当我调用login()时),我可以看到$rootScope.error得到了很好的更新,但不是main.error???我建议您不要做现在正在做的事情,因为将
$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;
}
{{error}}
函数MainCtrl($scope){
var main=这个;
}
为什么需要将$rootScope.error绑定到main.error?这是多余的。
<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;
}