我正在尝试为 ember 2 应用程序制作分页组件。由于它是一个通用的分页组件,我想在许多不同的路线上使用它。因此,我需要以某种方式(在我的脑海中)提供我的路线名称,以便分页链接工作。
我可以轻松地将我的路由名称(字符串)传递给组件:
{{pagination-component myRoute='myCurrentRouteName'}}
. 在组件内部:{{link-to myRoute (query-params page=1)}}
它适用于以下页面:<< First, < Previous, Next > , Last >>。
但我也希望有一个带有指向所有页面的选项的选择框,如果用户选择一个页面,我可以使用类似于这样的 queryParams 转换到该路由myRoute?page=selectedPage
:ember 的所有教程都说在组件内进行转换是禁忌。
但是我该怎么做呢,因为我希望我的分页是通用的,并且我不想在处理分页并提供相同精确转换的每条路线中都采取行动?
到目前为止,我发现我可以将“-routing”注入到组件中,这可以在组件内进行转换,但由于某种原因它也不能安静地工作。另外,人们说它是私人的,不可靠的。我还尝试制作一个带有动作的 Route Mixin,这样我就可以简单地sendAction
从带有 的组件中获取selectedPage
,但我不知道如何router.transitionTo
在我的 Mixin 中获取路由器(以便调用)。