그 이외의 경우 StateProvider에서
angular-ui-router를 사용하여 $stateProvider에서 other 메서드를 사용하는 방법 또는 사용 방법을 알려주세요.
만은 사용할 수 없습니다.$stateProvider
.
주사를 놓으셔야 합니다.$urlRouterProvider
다음 코드와 유사한 코드를 만듭니다.
$urlRouterProvider.otherwise('/otherwise');
그/otherwise
url은 통상대로 상태 상에서 정의해야 합니다.
$stateProvider
.state("otherwise", { url : '/otherwise'...})
ksperling 설명에 대해서는 이 링크를 참조해 주십시오.
할 수 있다$stateProvider
catch all 구문을 사용합니다("*path"
). 다음과 같이 목록 맨 아래에 상태 Configuration을 추가하면 됩니다.
$stateProvider.state("otherwise", {
url: "*path",
templateUrl: "views/error-not-found.html"
});
모든 옵션에 대해서는, https://github.com/angular-ui/ui-router/wiki/URL-Routing#regex-parameters 를 참조해 주세요.
이 옵션의 좋은 점은$urlRouterProvider.otherwise(...)
로케이션 변경을 강요받지 않는 것을 의미합니다.
수동으로 $state를 other 함수에 삽입할 수도 있습니다.이 함수는 url 이외의 상태로 네비게이트 할 수 있습니다.이것은 브라우저가 주소 표시줄을 변경하지 않는다는 장점이 있기 때문에 이전 페이지로 돌아가는 처리에 도움이 됩니다.
$urlRouterProvider.otherwise(function ($injector, $location) {
var $state = $injector.get('$state');
$state.go('defaultLayout.error', {
title: "Page not found",
message: 'Could not find a state associated with url "'+$location.$$url+'"'
});
});
나는 단지 이미 제공된 훌륭한 대답에 동참하고 싶을 뿐이다.의 최신 버전@uirouter/angularjs
학급을 채점했다UrlRouterProvider
권장되지 않는 바와 같이.그들은 이제 다음을 사용할 것을 권장한다.UrlService
대신.다음과 같이 수정하면 동일한 결과를 얻을 수 있습니다.
$urlService.rules.otherwise('/defaultState');
기타 방법 : https://ui-router.github.io/ng1/docs/1.0.16/interfaces/url.urlrulesapi.html
질문한 내용이 샘플 코드의 첫 줄에 이미 답변되어 있다는 것을 깨닫는 바보 같은 순간!샘플 코드를 한 번 보세요.
angular.module('sample', ['ui.compat'])
.config(
[ '$stateProvider', '$routeProvider', '$urlRouterProvider',
function ($stateProvider, $routeProvider, $urlRouterProvider) {
$urlRouterProvider
.when('/c?id', '/contacts/:id')
.otherwise('/'); // <-- This is what I was looking for !
....
승인된 답변이 참조됩니다.angular-route
에 대해 묻다ui-router
승인된 답변은 "모놀리식"을 사용합니다. $routeProvider
를 필요로 합니다.ngRoute
모듈(필수)ui-router
필요한 것은ui.router
모듈)
가장 높은 평가를 받은 답변은$stateProvider
대신 이렇게 말하고.state("otherwise", { url : '/otherwise'... })
링크되어 있는 문서에서는 "그렇지 않은 경우"에 대한 언급을 찾을 수 없습니다.하지만, 나는 그것을 본다.$stateProvider
이 답변에는 다음과 같이 기재되어 있습니다.
만은 사용할 수 없습니다.
$stateProvider
주사를 놓으셔야 합니다.$urlRouterProvider
그게 바로 내 대답이 도움이 될 수 있는 부분이야.나로서는, 그것을 사용하기에 충분했다.$urlRouterProvider
바로 다음과 같습니다.
my_module
.config([
, '$urlRouterProvider'
, function(
, $urlRouterProvider){
//When the url is empty; i.e. what I consider to be "the default"
//Then send the user to whatever state is served at the URL '/starting'
//(It could say '/default' or any other path you want)
$urlRouterProvider
.when('', '/starting');
//...
}]);
제 제안은 다음과 같습니다.ui-router
매뉴얼(이 특정 리비전)을 참조해 주세요.이 매뉴얼에는 유사한 용도가 기재되어 있습니다.when(...)
method(함수에 대한 첫 번째 호출):
app.config(function($urlRouterProvider){
// when there is an empty route, redirect to /index
$urlRouterProvider.when('', '/index');
// You can also use regex for the match parameter
$urlRouterProvider.when(/aspx/i, '/index');
})
언급URL : https://stackoverflow.com/questions/16793724/otherwise-on-stateprovider
'programing' 카테고리의 다른 글
angular UI 라우터| $stateParams가 동작하지 않음 (0) | 2023.03.16 |
---|---|
인터페이스 org.springframework.data.domain의 기본 또는 기본 생성자를 찾을 수 없습니다.페이지 가능 (0) | 2023.03.16 |
입력이 비어 있을 때 버튼을 비활성화하려면 어떻게 해야 합니까? (0) | 2023.03.16 |
여러 Atribute를 Angular.js Atribute Directive로 전달하려면 어떻게 해야 하나요? (0) | 2023.03.16 |
기본 내보내기 선호 오류 (0) | 2023.03.16 |