我正在使用 Angular 和 Parse.com,但遇到一个问题:
我有一个“mainController”,它位于所有html文档中,还有一个带有一些页面和 Controller 的routeProvider。
function mainController($scope)
{
$scope.logeado = (Parse.User.current()!=null)
if (Parse.User.current()==null)
{
$scope.showuser=""
}
else
{
$scope.showuser=Parse.User.current().get('username')
}
$scope.logout = function()
{
Parse.User.logOut();
$scope.logeado = (Parse.User.current()!=null);
$scope.$apply();
}
};
该 Controller 之一是“loginController”。在此 Controller 中进行登录,但我的问题是: 如果我注销,该函数位于主 Controller 中,并且此 ng-show="logeado"会发生变化,因为变量在内部,但如果我自登录 Controller 以来登录,我可以更改“Parse.User.current()”,但 $scope.logeado没有更新,我需要更新所有页面才能看到更改。
我该如何更新变量?
最佳答案
解决问题的方法之一是实现模式观察器。让
Parse.User.current
通知他的状态。
function mainController($scope){
Parse.User.current.onChange(function () {
$scope.logeado = (Parse.User.current()!=null);
if (Parse.User.current() == null) {
$scope.showuser=""
} else {
$scope.showuser=Parse.User.current().get('username')
}
});
$scope.logout = function() {
Parse.User.logOut();
};
};
关于javascript - 如何更新主 Controller $scope 自 Angularjs 中的歌曲 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23659218/