Angular JS 路由参数选项有限
Angular JS route parameters with limited options
我刚开始使用 Angular,目前使用的是 1.4.2。
我想知道如何让 URL、/:type
只有三个选项 - 创建、更新和查看。
他们都使用相同的控制器,所以我不想有单独的时间,例如
.when('/create ... , .when('/update ... , .when('/view ... .
除了这些,我不希望传递任何其他选项。
如果我能得到一些帮助,那就太好了!
谢谢:)
但是你想要 3 个不同的 url?如果您不想声明多个 when,您应该使用 ui-router 和 stateHelperProvider 来使用子语句。你应该可以做类似
的事情
stateHelperProvider.state({
name: 'root',
template: '<ui-view/>',
abstract: true,
children: [
{
name: 'create',
url: '/create',
templateUrl: 'mypath.html',
controller: 'myCtrl',
data: {
type: 'create'
}
},
{
name: 'view',
url: '/view',
templateUrl: 'mypath.html',
controller: 'myCtrl',
data: {
type: 'view'
}
},
{
name: 'update',
url: '/update',
templateUrl: 'mypath.html',
controller: 'myCtrl',
data: {
type: 'update'
}
},
]
});
whit 每次数据与您的数据。
但我不明白你为什么不申报 3 "when"
您可以只从您的控制器上的 $routeParams 服务获取参数,然后用它做任何您想做的逻辑。参见 https://docs.angularjs.org/api/ngRoute/service/$routeParams
路由配置
$routeProvider
.when("/yourroute/:type", {
template: "default"
templateUrl: "template.html",
controller: "Controller"
});
控制器功能
function Controller($routeParams) {
switch($routeParams.type) {
case "create":
...
case "update":
...
case "view":
...
default:
...
}
}
我刚开始使用 Angular,目前使用的是 1.4.2。
我想知道如何让 URL、/:type
只有三个选项 - 创建、更新和查看。
他们都使用相同的控制器,所以我不想有单独的时间,例如
.when('/create ... , .when('/update ... , .when('/view ... .
除了这些,我不希望传递任何其他选项。 如果我能得到一些帮助,那就太好了! 谢谢:)
但是你想要 3 个不同的 url?如果您不想声明多个 when,您应该使用 ui-router 和 stateHelperProvider 来使用子语句。你应该可以做类似
的事情stateHelperProvider.state({
name: 'root',
template: '<ui-view/>',
abstract: true,
children: [
{
name: 'create',
url: '/create',
templateUrl: 'mypath.html',
controller: 'myCtrl',
data: {
type: 'create'
}
},
{
name: 'view',
url: '/view',
templateUrl: 'mypath.html',
controller: 'myCtrl',
data: {
type: 'view'
}
},
{
name: 'update',
url: '/update',
templateUrl: 'mypath.html',
controller: 'myCtrl',
data: {
type: 'update'
}
},
]
});
whit 每次数据与您的数据。 但我不明白你为什么不申报 3 "when"
您可以只从您的控制器上的 $routeParams 服务获取参数,然后用它做任何您想做的逻辑。参见 https://docs.angularjs.org/api/ngRoute/service/$routeParams
路由配置
$routeProvider
.when("/yourroute/:type", {
template: "default"
templateUrl: "template.html",
controller: "Controller"
});
控制器功能
function Controller($routeParams) {
switch($routeParams.type) {
case "create":
...
case "update":
...
case "view":
...
default:
...
}
}