在ember中运行时创建模型属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ember中运行时创建模型属性相关的知识,希望对你有一定的参考价值。

我正在创建一个ember应用程序,我想实现一个用ember构建的表。我能够使用ember-models-table创建一个表,我已经能够使用列列表和数据呈现表。现在的问题是列列表来自服务器和ember-data我需要将所有列作为属性放在模型中以显示数据,所以有人可以帮我加载ember模型中的列列表运行时间。

我的控制器如下

self.get("store").query("user",{page:1,pageSize:10}).then(function (data) 
            {
                self.set("data",data);
            });

我的用户模型如下

/* With this it works */    
index: DS.attr("number"),
firstname: DS.attr("string"),
lastname: DS.attr("string"),
age: DS.attr("number"),
city: DS.attr("string")

/* but i want these attributes to be dynamic based on server response */
答案

存在Ember数据以指定数据模型,即您拥有的不同类型数据类型的结构。这个结构,即attrName: DS.attr('type')规范,对于ember-data跟踪何时应该将模型实例视为“已更改”(即当其中一个命名属性发生更改; user.set('foobar',42)将按预期工作但不计入用户对象的更改时)是必需的foobar不属于模型属性)和哪些属性要发送到服务器上.save()(在这种情况下,不是foobar)。

如果你有一个API端点,根据查询参数或任何东西返回不同结构的数据,你可以说实际上没有数据模型,最好不要使用ember-data。

如果我正确地回忆起ember-models-table,它不需要像data那样的模型实例数组,所以你不妨直接进行Ajax调用而不是通过store,在Ember.Objects中包装你灵活的“服务器响应”的对象。将它们的数组传递给ember-models-table(或尝试传递普通的旧json对象数组,即直接服务器响应,即使文档没有建议,也可能会有效)。

以上是关于在ember中运行时创建模型属性的主要内容,如果未能解决你的问题,请参考以下文章

在 jest testrunner 中运行时,Mongoose 模型函数超时

在 PyCharm 中运行时记录 basicConfig 不创建日志文件?

在 MFC 中运行时更改编辑框属性

在 WPF .net core 5 中运行时更改应用程序文化时如何更新属性绑定

在 WIX 中运行时为快捷方式动态分配名称

Ember 数据模型中的计算属性不适用于 ember-cli-mirage 模型