使用Ember存储和模型作为JqGrid的源数据

时间:2016-06-06 16:37:14

标签: javascript ember.js jqgrid ember-data

我想在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,
        ...
    }
});

1 个答案:

答案 0 :(得分:1)

如果您使用.getProperties()方法并明确指定所需的数据,那么最好不要访问2个私有属性:

const myEmberData  = this.get('data'); 
const myJqGridData = myEmberData.map(
    item => item.getProperties('id', 'firstProperty', 'secondProperty') // ... etc.
);