1 javascript angularjs angular-ui-router
下面是$ stateProvider配置的部分代码.我想在将appId参数传递给我的控制器之前将其检查为整数.如果可能,我怎么能在这里做到这一点?当前用户键入整个URL并为appId提供任何字符串,其中整数是预期的,然后我得到错误.例如"/ app/dfsad"而不是"/ app/12".我已将检查放在控制器中但我想在它传递给控制器之前检查它.谢谢.例如,如果value不是有效数字,我希望appId转换为0(默认情况下).谢谢!
.state('app', {
url: '/app/:appId',
templateUrl: 'app/components/project/project.html',
controller: 'projectController',
resolve: {
loadPlugin: function ($ocLazyLoad) {
return $ocLazyLoad.load([
{
name: 'projectModule',
serie: true,
files: [
'app/components/project/projectCharts.js',
'app/components/project/utils/projectUtils.js',
'app/components/project/projectModule.js'
]
}
]);
}
}
})
Run Code Online (Sandbox Code Playgroud)
ui-router支持这种行为:https://github.com/angular-ui/ui-router/wiki/URL-Routing
您可以在url中指定类型:
url: '/app/{appId:int}'
Run Code Online (Sandbox Code Playgroud)
否则,你可以看看$ stateProvider,在回调的OnEnter,在其中您可以更改参数,这可能会帮助你(但我会代替{appId:int}通过:appId,允许进入状态.不知道这是真的前控制器已创建.
| 归档时间: |
|
| 查看次数: |
519 次 |
| 最近记录: |