【发布时间】:2016-12-02 07:44:54
【问题描述】:
我想在我的 run() 中获取当前状态名称。我正在使用 $state.current.name。但它返回空字符串。
$rootScope.$on('$stateChangeStart', function (event, next) {
var json = (function () {
event.preventDefault();
$.ajax({
'async': false,
'global': false,
'url':'users/testLogin',
//'data': 'action=showOrders',
'dataType': "json",
'success': function (data) {
if(data.success){
$rootScope.authenticated = true;
$rootScope.id = data.data.id;
$rootScope.unique_id = data.data.unique_id;
$rootScope.print_house_id = data.data.print_house_id;
$rootScope.name = data.data.name;
$rootScope.email = data.data.email;
$rootScope.type = data.data.type;
} else {
console.log($state.current.name);
}
}
});
})();
});
任何人都可以找出我的错误在哪里。
【问题讨论】:
-
首先,你应该在这里使用 angular
$http而不是 jquery$.ajax;其次,您似乎没有将$state注入此方法。此外,像这样使用$rootScope是一种反模式。
标签: angularjs