我正在创建一个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 */
答案 0 :(得分:0)
Ember Data用于指定数据模型,即您拥有的不同类型数据类型的结构。 这个结构,即user.set('foobar',42)
规范,是ember-data跟踪何时应该将模型实例视为“已更改”所必需的(即当其中一个命名属性发生更改时; foobar
将作为预期但如果.save()
不在模型属性中,则不计入用户对象的更改)以及要在foobar
上发送到服务器的属性(在这种情况下,不是data
)。 子>
如果你有一个API端点根据查询参数或任何东西返回不同结构的数据,你可以说实际上没有数据模型,最好不要使用ember-data。
如果我正确地回忆起ember-models-table,它不需要像store
那样的模型实例数组,所以你也可以直接而不是通过Ember.Object
进行Ajax调用,包装你在{{1}}中灵活的“服务器响应”的对象,并将它们的数组传递给ember-models-table(或尝试传递普通的旧json对象数组,即直接服务器响应,即使是文档没有暗示它。)