我已经在我的应用程序中配置了这样的路由:
$routeProvider
.when('/', {action: 'account_landing_page'})
.when('/:resource/:id/:extrajson', {action: 'open_resource'})
.when('/:resource/:id', {action: 'open_resource'})
.otherwise({redirectTo: '/'})
如果网址包含,我希望能够执行其他操作:extrajson
。所以我有这个网址:xyz/dashboard/1/%7B%22screen_shot_mode%22%3A%20%22on%22%7D
加载此URL时,它将丢失所有urlencoded的额外参数,并变为: xyz/#/dashboard/1
有人可以告诉我我在这做错了什么吗?有人可以解释一下为什么会这样吗?
以下是一些代码片段,可以帮助您理解。
when('/search/:someid', {
templateUrl: 'partials/qviewplaceholder.html',
controller: 'Myctrl as somectrl'
}).
注意“:someid”部分。向下看控制器将显示此内容。
app.controller('Myctrl', ['$routeParams',function($routeParams) {
this.somedata = $routeParams.someid;
/*controller logic that uses $routeParams.someid for it's logic*/
}]);
现在,您有了一个模板[partials / qviewplaceholder.html]和一个通过$ routeParams传递给它的变量。$ routeParams变量通常是一些ID,可用于指向某个对象。然后相应地显示数据。另外,这是一个演示$ routeparams用法的视频。https://www.youtube.com/watch?v=ziUelciLL5Q
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句