使用 Ember 存储和模型作为 JqGrid 的源数据
Use Ember store and model as source data for JqGrid
我想在 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,
...
}
});
与其访问 2 个私有属性,不如使用 .getProperties()
方法并明确指定您需要的数据会更好:
const myEmberData = this.get('data');
const myJqGridData = myEmberData.map(
item => item.getProperties('id', 'firstProperty', 'secondProperty') // ... etc.
);
我想在 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,
...
}
});
与其访问 2 个私有属性,不如使用 .getProperties()
方法并明确指定您需要的数据会更好:
const myEmberData = this.get('data');
const myJqGridData = myEmberData.map(
item => item.getProperties('id', 'firstProperty', 'secondProperty') // ... etc.
);