在link-to中将对象作为query-params参数传递

时间:2017-02-10 17:55:35

标签: ember.js

使用Route.transitionTo功能,我可以打电话,

this.transitionTo('posts', {queryParams: {sort: 'title'}});

所以,说我有一个对象,

qpms={sort:'title'}

现在,我可以做到,

this.transitionTo('posts',{queryParams:qpms});

我也知道,在模板中,

{{#link-to 'posts' (query-params qpms)}}text{{/link-to}}

代替,

{{#link-to 'posts' (query-params sort="title")}}text{{/link-to}}

不起作用。

有没有办法达到Route.transitionTo函数提供的相同效果,在link-to helper中?

所以在岗位控制器中,我仍然可以得到它,

queryParams: ['sort'],
sort: null,

...

2 个答案:

答案 0 :(得分:1)

不,你不能。

目前正在实施query-params助手,你无法实现它。

但你可以创建自己的助手来工作。

请查看this twiddle

答案 1 :(得分:0)

如果我理解你是正确的,你可以在模板

上使用传递参数

(<([^>]+)>|&nbsp;)

此外,您确定必须在{{#link-to 'posts' qpms}}text{{/link-to}}qpmsController中定义Route。像贝娄一样

Component


// Component export default Ember.Component.extend({ qpms: {sort: 'title'}, }) // Controller export default Ember.Controller.extend({ qpms: {sort: 'title'}, })

http://site/#/url/params/SORT

注意::上面的代码没有必要,Ember会自动返回url params