私のrun()で現在の状態名を取得したいと思います。私は$ state.current.nameを使用しています。その空の文字列を返します。angularjsを使用して現在の状態名を取得する方法
$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);
}
}
});
})();
});
誰でも私のエラーが見つかりましたか?
の可能性のある重複:http://stackoverflow.com/questions/23590799/ui-router-get-state-name-from-object-function – varit05
まず、あなたが使用する必要がありますjquery '$ .ajax'ではなく角張った' $ http'です。第2に、このメソッドに '$ state'を注入したようには見えません。また、このように '$ rootScope'を使うことはアンチパターンです。 – Claies