gpt4 book ai didi

ember.js - Ember - 使用 hasMany 属性时如何在多选中预选项目?

转载 作者:行者123 更新时间:2023-12-02 19:51:29 25 4
gpt4 key购买 nike

我目前在多选 View 中预选项目时遇到问题。我将 ember 1.3 与 ember-data 1.0.0 beta 6 和 ember-data-django-rest-adapter 一起使用。

App.Article = DS.Model.extend({
title: attr(),
description: attr(),
authors: hasMany('author')
});

App.ArticleRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('article', params.article_id);
},
setupController: function(controller, model) {
controller.set('content', model);
}
});

App.ArticleController = Ember.ObjectController.extend({
needs: ['authors'],
allAuthors: function() {
return this.store.find('author');
}.property()
});

模板:

{{input authors as='select'
multiple='true'
collection='allAuthors'
selection='authors'
optionValuePath='content.id'
optionLabelPath='content.name'}}

我不确定为什么这不起作用,因为当我在模板中使用 #each 输出 allAuthorsauthors 时,我'我得到了我应该得到的数据。

我有什么事情没做吗?

预先感谢您的帮助。

最佳答案

我通常使用 Promise 在路由中预填充此类数据:

App.ArticleRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('article', params.article_id);
},
setupController: function(controller, model) {
this.store.find('author').then(function(authors) {
controller.set('allAuthors', authors);
// or maybe controller.get('allAuthors').addObjects(authors);
});
controller.set('content', model);
}
});

App.ArticleController = Ember.ObjectController.extend({
needs: ['authors'],
allAuthors: []
});

不确定这是否是最好的方法,但这对我有用。

关于ember.js - Ember - 使用 hasMany 属性时如何在多选中预选项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21304180/

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