按字母顺序重定向到 Ember 数组中的第一项?
Redirecting to the first item in an Ember array, alphabetically?
我有一组页面,我正在按标题排序,如下所示:
PagesController = Ember.ArrayController.extend
sortProperties: ['title']
我还尝试在用户点击 pages.index
路由时重定向到数组中的第一项。
PagesIndexRoute = Ember.Route.extend
redirect: (model) ->
page = model.get 'firstObject'
@transitionTo 'page', page if page?
问题是,firstObject
不是已排序数组中的第一项,因此用户会掉到列表中间的某个位置。在模板中,我可以循环遍历 arrangedContent
属性 以获得排序后的数组。但是,在路由中,我无法访问那个 属性 或排序数组。
如何重定向到数组中的第一个 object,在 数组按字母顺序排序后?
您应该能够通过方法 @controllerFor('pages')
在 PagesIndexRoute
的 redirect
操作中访问 PagesController
。然后您可以访问其排序的内容。请尝试以下代码:
PagesIndexRoute = Ember.Route.extend
redirect: ->
page = @controllerFor('pages').get 'firstObject'
@transitionTo 'page', page if page?
我有一组页面,我正在按标题排序,如下所示:
PagesController = Ember.ArrayController.extend
sortProperties: ['title']
我还尝试在用户点击 pages.index
路由时重定向到数组中的第一项。
PagesIndexRoute = Ember.Route.extend
redirect: (model) ->
page = model.get 'firstObject'
@transitionTo 'page', page if page?
问题是,firstObject
不是已排序数组中的第一项,因此用户会掉到列表中间的某个位置。在模板中,我可以循环遍历 arrangedContent
属性 以获得排序后的数组。但是,在路由中,我无法访问那个 属性 或排序数组。
如何重定向到数组中的第一个 object,在 数组按字母顺序排序后?
您应该能够通过方法 @controllerFor('pages')
在 PagesIndexRoute
的 redirect
操作中访问 PagesController
。然后您可以访问其排序的内容。请尝试以下代码:
PagesIndexRoute = Ember.Route.extend
redirect: ->
page = @controllerFor('pages').get 'firstObject'
@transitionTo 'page', page if page?