ルートまたはコンポーネントから、ストアデータから値の配列を作成したいとします。例えば。私はプロジェクトモデルを持っています。私は選択ボックス、テーブル見出しで使用できるプロジェクト名のリストを取得したいと思います...Ember.js - 店舗の値をリストする
私は以下を試してみましたが、計算されたプロパティを見ましたが、 ?
// user route
model() {
let projects = this.store.findAll('project').then((projects) => {
return projects.mapBy('name');
});
...
更新:
// users.new route
import Ember from 'ember';
export
default Ember.Route.extend({
projectNames: [],
afterModel: function() {
this._super(...arguments);
return this.store.findAll('project').then((projects) => {
this.set('projectNames', projects.mapBy('name'));
});
},
setupController: function (controller) {
this._super(...arguments);
controller.set('projectNames', this.get('projectNames'));
},
model() {
let user = this.store.createRecord('user'),
projectRoles = [],
projects = this.get('projectNames');
console.log('projectNames: ' + this.get('projectNames'));
projects.forEach((project) => {
let projectRole = this.store.createRecord('projectRole', {
project: project,
role: 'Viewer'
});
projectRoles.push(projectRole);
});
// Create 1 role per project
Ember.RSVP.all(projectRoles.map(projectRole => projectRole.save())).then((projectRoles) => {
user.set('projectRoles', projectRoles);
});
return user;
}
}
これはこれまでのところOKです。ルートの残りのコードを表示できますか? – Igor