If条件在我的路由提供程序中
If condition inside my route provider
在我的$routeProvider
中,我有这样的内容
$routeProvider.when('/person/:name/:label', { ...
我想做的是添加一个特殊的情况,这将帮助我显示一个不同的模板,如果:name
,例如,等于'John'。
我试着用这样的东西:
$routeProvider.when('/person/:name/:label', {
templateUrl: function(param) {
if(param=='John') {
return 'john.html';
}
return 'generic.html';
},
controller: 'PersonCtrl'
});
我一直得到generic.html
虽然。如何访问name变量并解决此问题?
传入templateUrl函数的params对象就像$routeParams一样可以访问。因此,就像在$routeParams中所做的那样,您需要使用点操作符来访问所配置的属性。在你的例子中,它是params.name
$routeProvider.when('/person/:name/:label', {
templateUrl: function(params) {
return params.name == 'John' ? 'john.html' : 'generic.html';
},
controller: 'PersonCtrl'
});
相关文章:
- Emberjs应用程序加载在除Index之外的所有路由上
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 使用Ampersand.js路由模块化应用程序
- 在通知点击时使用Ion中的OneSignal插件路由到应用程序中的状态
- 如何在不刷新父(应用程序)路由的情况下刷新当前路由
- API的快速路由-当您有子资源时的URL处理程序
- 将路由处理程序委托给NodeJS+Express中的其他模块
- 在Web应用程序中绑定API和模板路由的位置
- React/flux - 子组件用户事件 - 是否应通过调度程序路由所有内容
- 在单页应用程序上进行客户端路由的正确方法是什么
- 不支持更多更改路由的路由驱动程序
- 无法在MEAN应用程序中路由到部分视图
- 如果找不到路由,则以程序方式导航到服务器页面
- 使用中介pub/sub模式时路由骨干应用程序
- 协议重定向错误地将React JS应用程序路由到IE9的默认页面
- 应用程序路由中的多个模型,如何设置控制器Ember.JS
- 单页应用程序路由w/ Crossroads &以哈舍尔为例
- Chrome扩展默认html或404(用于单页应用程序路由)
- 应用程序路由中的模型没有加载