Angularjs的状态url依赖于数值url
Angularjs state url rely on numeric url
我在我的状态下使用以下url:
.state('forum.spesific', {
url: '/:articleId',
templateUrl: 'modules/forum/client/views/forum.client.view.html',
controller: 'forumController',
controllerAs: 'vm',
})
.state('forum.spesific2', {
url: '/:articleId',
templateUrl: 'modules/forum/client/views/forum2.client.view.html',
controller: 'forumController',
controllerAs: 'vm',
})
我怎样才能使其中一个依赖于:articleId只是数字,而另一个是数字和字符的混合?
:
.state('forum.spesific', {
url: '/:articleId ONLY BY NUMBER',
templateUrl: 'modules/forum/client/views/forum.client.view.html',
controller: 'forumController',
controllerAs: 'vm',
})
.state('forum.spesific', {
url: '/:articleId BOTH ( have to be both)',
templateUrl: 'modules/forum/client/views/forum2.client.view.html',
controller: 'forumController',
controllerAs: 'vm',
})
您可以使用regex-like
语法:'/articles/{id:int}'
,它只匹配整数。顺便说一句,这不是很安全,因为id(例如:bigInt
)可以超出javascript安全整数范围…https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger
也许你可以将这两种状态合并为同一状态,并更改templateUrl
templateUrl: function (stateParams){
if(isNaN(stateParams.articleId)){
return "modules/forum/client/views/forum2.client.view.html"
} else {
return "modules/forum/client/views/forum.client.view.html";
}
}
希望能有所帮助
你可以这样指定正则表达式:
.state('forum.spesific', {
url: '/{articleId:[0-9]+}',
templateUrl: 'modules/forum/client/views/forum.client.view.html',
controller: 'forumController',
controllerAs: 'vm',
})
.state('forum.spesific2', {
url: '/{articleId:[a-zA-Z0-9]+}',
templateUrl: 'modules/forum/client/views/forum2.client.view.html',
controller: 'forumController',
controllerAs: 'vm',
})
但如果唯一的区别是id类型,为什么要用2个状态呢?
相关文章:
- 依赖于缓慢加载javascript的UI
- 如何隐藏&使用jQuery禁用依赖于另一个字段值的字段
- Node.js中依赖于版本的类型继承
- 如何使AngularJS控制器依赖于通过ajax加载在rootScope上的值
- 如何使用EnquireJS使AngularJS范围变量依赖于媒体查询
- Ajax xml源解析依赖于jQuery的点击操作
- Sails.js日志传输依赖于环境
- 如何使用 2 个 XMLHttpRequest 一个依赖于另一个
- Javascript表单.使一个条目依赖于另一个条目
- 在<p>标签依赖于<选择>标签,javascript
- Angularjs-uib日期选择器中的customClass依赖于promise
- 试图使一个事件依赖于另一个事件,并使用jquery自定义事件传递数据
- 使用jquery如何自动删除下拉列表中的第一个空白选项(如果它依赖于另一个选项)
- yii2:依赖于Action的条件显示/显示字段
- 测试依赖于另一个指令Angularjs的指令
- 创建一个不依赖于Snap实例的组
- 打开一个模态(在Codeigniter中),该模态从依赖于phpvar的URL加载(在iframe中)内容
- 不依赖于URL的浏览器插件的本地存储
- Angularjs的状态url依赖于数值url
- 循环URL和加载使用数组依赖于ID