我想使用 JqGrid 中 Ember 存储中已填充的数据。 关于如何以更好的方式实现这一目标有什么提示吗?
我发现商店中的模型对象与适合 JqGrid 的 javascript 对象数组不兼容,因此我必须创建适当的数组。
这是我将模型传递给模板中的组件的方式:
{{myComponent data=model}}
这是我准备 jqGrid 数据的方法:
...
export default Ember.Component.extend({
didInsertElement: function(){
var myEmberData = this.get('data');
var myJqGridData = myEmberData.map(item => {
return $.extend({id:item.id},item._internalModel._data);
}
...
//use myEmberData as local data for JqGrid
this.$("#gridId").jqGrid({
datatype: "local",
data: myJqGridData,
...
}
});
最佳答案
如果您使用 .getProperties()
方法并显式指定您需要的数据,而不是访问 2 个私有(private)属性,效果会更好:
const myEmberData = this.get('data');
const myJqGridData = myEmberData.map(
item => item.getProperties('id', 'firstProperty', 'secondProperty') // ... etc.
);
关于javascript - 使用 Ember 存储和模型作为 JqGrid 的源数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37662637/