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

标签 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,
        ...
    }
});

最佳答案

如果您使用 .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/

相关文章:

json - Ember 和数据表集成

javascript - 基于 EmberJS 中的路由模型计算 Controller 中的属性

jquery - 使用jqgrid和coldfusion生成excel报告

php - 插入新记录后数据表中出现不需要的分页

JavaScript 数组 : why is this not valid?

javascript - Ember Data的查找方法: handling SQL 'OR' equivalent query

jquery - jqgrid是否支持多复选框列表编辑

jqgrid - 停止在 jqgrid 中调整列大小

javascript - React - 从列表中间删除会删除最后一个元素

javascript - 调用变量中指定的对象的 Javascript 成员函数