angularjs-ui路由-如何附加同名的多个URL?
在我的应用程序中,我需要附加多个具有相同angularjs-ui路由-如何附加同名的多个URL?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,在我的应用程序中,我需要附加多个具有相同状态的url-我如何实现这一点 以下是我的现状: .state('createCase', { url: '/createCase', templateUrl: null, controller: null, data: { requireLogin: false }, 另外,我想附上另一个url,如下所示: .state('createCase', {
状态的url
-我如何实现这一点
以下是我的现状:
.state('createCase', {
url: '/createCase',
templateUrl: null,
controller: null,
data: {
requireLogin: false
},
另外,我想附上另一个url
,如下所示:
.state('createCase', {
url: '/createCase?sn=12345', //(12345 is dynamic )
templateUrl: null,
controller: null,
data: {
requireLogin: false
},
以下是我目前的职能:
function routeConfig($stateProvider, $locationProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/',
templateUrl: function(){
console.log('from 1oauth');
return 'app/login/login.html';
},
controller: 'loginCtrl as ctrl',
data: {
requireLogin: false
}
})
.state('oauth', {
url: '/oauth',
templateUrl: function(){
console.log('from 2oauth');
return 'app/oauth/oauth.template.html';
},
controller: 'OAuthController as ctrl',
data: {
requireLogin: false
}
})
.state('createCase', {
url: '/createCase',
templateUrl: null,
controller: null,
data: {
requireLogin: false
}
}
})
// if (isWeb()){
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
// }
// $urlRouterProvider.otherwise('/');
$urlRouterProvider.otherwise('/');
}
您不需要为同一url定义两种不同的状态。在控制器中,可以使用具有查询参数作为属性的$state.params
对象
你的路线
.state('createCase', {
url: '/createCase',
templateUrl: null,
controller: 'MyCtrl',
data: {
requireLogin: false
},
params: {
sn: null
}
你的控制器
function MyCtrl($state) {
console.log($state.params);
}
您不需要为同一url定义两种不同的状态。在控制器中,可以使用具有查询参数作为属性的$state.params
对象
你的路线
.state('createCase', {
url: '/createCase',
templateUrl: null,
controller: 'MyCtrl',
data: {
requireLogin: false
},
params: {
sn: null
}
你的控制器
function MyCtrl($state) {
console.log($state.params);
}
在您的路线中定义:
.state('createCase', {
url: '/createCase?sn', // bind your query param to URL
templateUrl: null,
controller: null,
data: {
requireLogin: false
},
在您的控制器中,
将$stateParams
注入依赖项,并将其与$stateParams.sn
一起使用
例如:
$state.go('createCase', {sn:1234}); // move to state with a param
$stateParams.sn // get a value of ==> 1234
在您的路线中定义:
.state('createCase', {
url: '/createCase?sn', // bind your query param to URL
templateUrl: null,
controller: null,
data: {
requireLogin: false
},
在您的控制器中,
将$stateParams
注入依赖项,并将其与$stateParams.sn
一起使用
例如:
$state.go('createCase', {sn:1234}); // move to state with a param
$stateParams.sn // get a value of ==> 1234
看起来您想要创建父状态和子状态。如果您只想访问$routeParams
,您可以将它们传递给控制器,或者在使用相同状态时将它们忽略
(函数(){
"严格使用",;
角度.module('app',['ui.router']))
.config(routeConfig);
routeConfig.$inject=['$stateProvider'];
函数routeConfig($stateProvider){
$stateProvider
.state('createCase'{
url:“/createCase”,
模板:“创建案例”
})
.state('createCase.detail'{
父项:“createCase”,
url:“/:sn”,
视图:{'detail@createCase': {
模板:“{sn}}”,
控制器:函数($scope,$stateparms){
$scope.sn=$stateParams.sn;
}
}
}
})
}
}());代码>
安格拉斯
文件。写(“”);
- createCase
- CreateCaseDetail123456
- createCaseDetail无
看起来您想要创建父状态和子状态。如果您只想访问$routeParams
,您可以将它们传递给控制器,或者在使用相同状态时将它们忽略
(函数(){
"严格使用",;
角度.module('app',['ui.router']))
.config(routeConfig);
routeConfig.$inject=['$stateProvider'];
函数routeConfig($stateProvider){
$stateProvider
.state('createCase'{
url:“/createCase”,
模板:“创建案例”
})
.state('createCase.detail'{
父项:“createCase”,
url:“/:sn”,
视图:{'detail@createCase': {
模板:“{sn}}”,
控制器:函数($scope,$stateparms){
$scope.sn=$stateParams.sn;
}
}
}
})
}
}());代码>
安格拉斯
文件。写(“”);
- createCase
- CreateCaseDetail123456
- createCaseDetail无
目前我的URL是:http://localhost:3000/createCase?sn=12345
但当我像你一样使用控制台时,我得到的是空对象-@user2024080抱歉,我是ui路由器新手:-)我刚刚更新了路由。注意,我定义了我们在路由中接受的参数,并为sn参数添加了一个默认值。目前我的URL是:http://localhost:3000/createCase?sn=12345
但当我像你一样使用控制台时,我得到的是空对象-@user2024080抱歉,我是ui路由器新手:-)我刚刚更新了路由。注意,我定义了我们在路由中接受的参数,并为sn参数添加了一个默认值。