gpt4 book ai didi

javascript - Ember CLI 阵列 Controller 未对每个循环进行排序

转载 作者:行者123 更新时间:2023-11-28 00:01:39 24 4
gpt4 key购买 nike

我无法从数组 Controller 获取 sortProperties。我认为这是因为 Controller 需要排序的模型不是它在 Ember CLI 中默认接收的模型。

router.js中定义的 posts 资源:

export default Router.map(function() {
this.resource('posts', function() {
this.route('index', {path: '/'});
this.route('new');
this.route('full', {path: '/:id'});
});

模型钩子(Hook)在routes/posts/index.js中定义:

export default Ember.Route.extend({
model: function() {
return this.store.find('post');
},
});

我的单个帖子模型 (models/post.js)

export default DS.Model.extend({
title: DS.attr('string'),
category: DS.attr('string'),
created_at: DS.attr('date'),

)}

我的模板使用 {{#each}} 帮助程序显示帖子列表
(templates/posts/index.hbs):

每个助手的内部内容都包含在名为“blog-list”的组件中。

{{#each model as |post|}}
{{blog-list model=post}}
{{/each}}

帖子列表显示正常。

我添加了代码来按标题属性对列表进行排序(controllers/posts/index.js):

export default Ember.ArrayController.extend({
sortProperties: ['title'],
sortAscending: true,
});

我不知道为什么,但标题列没有被排序。

最佳答案

您必须在模板中迭代 controller 而不是 model:

{{#each controller as |post|}}
{{blog-list model=post}}
{{/each}}
顺便说一下,

ArrayController 已被弃用。

关于javascript - Ember CLI 阵列 Controller 未对每个循环进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31743525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com