반응형
ui-ipsec 상태 변경에서 $state.current.name를 반환하려면 어떻게 해야 합니까?
반품하고 싶습니다..state('name')
각도로 위치를 바꾸면요.
내 것부터run()
이 경우,$state
오브젝트:
.run(function($rootScope, Analytics, $location, $stateParams, $state) {
console.log($state);
하지만 제가 이 모든 걸려고 할 때$state.current
빈 객체입니다.
.run(function($rootScope, $location, $stateParams, $state) {
console.log($state.current);
설정 예:
.config(function($stateProvider, $urlRouterProvider, AnalyticsProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
views: {
'': {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
},
'navigation@home': {
templateUrl: 'views/partials/navigation.html',
controller: 'NavigationCtrl'
},
'weekly@home': {
templateUrl: 'views/partials/weekly.html',
controller: 'WeeklyCtrl'
},
'sidepanel@home': {
templateUrl: 'views/partials/side-panel.html',
controller: 'SidePanelCtrl'
},
'shoppanel@home': {
templateUrl: 'views/partials/shop-panel.html',
controller: 'ShopPanelCtrl'
},
'footer@home': {
templateUrl: 'views/partials/footer.html',
controller: 'FooterCtrl'
}
}
})
'$state'를 들을 수 있습니다.ChangeSuccess'를 선택하고 상태를 적절하게 설정합니다.예:
$rootScope.$on('$stateChangeSuccess',
function(event, toState, toParams, fromState, fromParams) {
$state.current = toState;
}
)
Sandeep 솔루션의 대안으로 다음과 같은 방법을 사용할 수도 있습니다.
angular.module('yourApp').run(['$rootScope', '$state',
function ($rootScope, $state) {
$rootScope.$state = $state;
}
]);
이렇게 하면 모든 stateChange가 아닌 한 번만 설정됩니다.기본적으로 $state에 대한 참조를 어딘가에 저장하기만 하면 됩니다.이 예제를 단순화하기 위해 $rootScope를 선택했습니다.
코드에서는 다음과 같이 간단하게 참조할 수 있습니다.
<div ng-show="$state.includes('accounting.dashboard')"></div>
그리고.
<div>Current State: {{$state.current.name}}</div>
또한 일반적으로 $stateParams도 저장하기 때문에 상태에 대한 더 많은 정보를 얻을 수 있습니다(이 예에서는 제외했습니다).
시도해 볼 수도 있습니다.
.controller('yourApp', function($scope,$state) {
$scope.state = $state;
이제 콘솔에 기록할 수 있습니다.
console.log($state);
현재 상태를 반환합니다.
또는 html 뷰에서 스코프를 다음과 같이 호출할 수 있습니다.
{{state.current.name}}
또한 현재 상태로 돌아갑니다.
컨트롤러에서 상태를 콘솔하려면 다음과 같이 콘솔해야 합니다.
console.log($state.current.name);
뷰에서 콘솔링하려면 다음 절차를 따릅니다.
컨트롤러 내:
$scope.state = $state.current.name;
템플릿 내: 다음과 같이 인쇄
{{state}}
언급URL : https://stackoverflow.com/questions/24895908/how-do-return-the-state-current-name-from-ui-router-statechange
반응형
'programing' 카테고리의 다른 글
TypeScript React에서 이미지 Import - "모듈을 찾을 수 없습니다" (0) | 2023.03.06 |
---|---|
타임아웃 Feign Client 해결 방법 (0) | 2023.03.06 |
스크래피를 사용하여 AJAX를 사용하는 웹사이트에서 동적 콘텐츠를 스크래치할 수 있습니까? (0) | 2023.03.06 |
이 FB는 뭐야?Native Extensions.onready 콘솔 오류는 Facebook과 관련되어 있으며 어떻게 해결할 수 있습니까? (0) | 2023.03.06 |
Jquery Ajax를 사용하여 Mysql에서 데이터 검색 (0) | 2023.03.01 |