如何解决EmberJS:Ember数据模型的动态属性本机类
我正在从EmberObject迁移到本机类(使用Ember 3.16),但是遇到了问题。基本上,我需要为某些模型设置动态属性。这些属性在其他地方定义,但为简单起见,在以下示例中,我将在组件文件中定义它们。
这是我的EmberObject模型和本机类模型:
// EmberObject
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
function getAttrs(config) {
return Object.keys(config).reduce((reduced,key) => {
const transform = config[key].type === 'text' ? 'string' : '';
reduced[key] = attr(transform);
return reduced;
},{});
}
const dynamicProps = { location: { name: 'Location',type: 'text',defaultValue: '' } };
export default Model.extend(assign({
comment: attr('string'),},dynamicProps));
//Native class
import Model,{ attr } from '@ember-data/model';
import { assign } from '@ember/polyfills';
function getAttrs(config) {
return Object.keys(config).reduce((reduced,defaultValue: '' } };
export default class SomeModel extends Model {
@attr('string') comment
constructor() {
super(...arguments);
assign(this,dynamicProps);
}
}
如您所见,在此示例中,我想要的是本机类具有@attr('string') location
,但这对我不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。