gpt4 book ai didi

ember.js - 如何为 ember 添加默认值有很多关系?

转载 作者:行者123 更新时间:2023-12-02 15:48:38 24 4
gpt4 key购买 nike

我正在使用 Ember 2.5.0,并且我有两个模型 serviceavailability,如下所示:

// availability
import DS from 'ember-data';

export default DS.Model.extend({
day: DS.attr('string'),
enabled: DS.attr('boolean'),
startAt: DS.attr('string'),
endAt: DS.attr('string'),
service: DS.belongsTo('service')
});

service 看起来像:

import DS from 'ember-data';

export default DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
availabilities: DS.hasMany('availability',
{
defaultValue:
[
{
day: 'saturday',
enabled: false,
startAt: '',
endAt: ''
},
{
day: 'sunday',
enabled: false,
startAt: '',
endAt: ''
}
]
}
)
});

如您所见,我尝试使用 defaultValue 但没有成功。对于新路线,如果我们要创建新的 service 记录,我想设置默认值。

感谢任何帮助。

最佳答案

DS.hasMany 的参数哈希仅接受两个属性:asyncinverse。但它不接受 defaultValue 属性。 (source)。

但不要害怕,Eki Eqbal!我认为您可以通过使用模型的 ready() 钩子(Hook)来完成类似的事情。

import DS from 'ember-data';

export default DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
availabilities: DS.hasMany('availability', { async: true }), // is the data loaded async?

ready() { // fires when the model is loaded from server or created locally
if (!!this.get('availabilities')) {
// don't set to defaults if availabilities is not null
return;
}

var saturday = this.store.createRecord('availability', {
day : 'saturday',
enabled : false,
startAt : '',
endAt : ''
});

var sunday = this.store.createRecord('availability', {
day : 'sunday',
enabled : false,
startAt : '',
endAt : ''
});

this.get('availabilities').pushObjects([saturday, sunday]);
}
});

关于ember.js - 如何为 ember 添加默认值有很多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37370640/

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