datagrid の外部プラグインを使用しています。json オブジェクトを外部プラグインに渡す必要があります。
モデルにアクセスしてデータ(jsonオブジェクト)を収集しようとしても、オブジェクトではなくクラスであるため、何も起こりません。
ここにコードをリストしました:
ルーター:
Grid.Router.map(function () {
this.resource('mainview', { path: '/' });
this.resource("modal", function(){
this.route("new", {path:"/new"});
this.route("edit", {path: "/:contact_id" });
});
});
Grid.MainviewRoute = Ember.Route.extend({
model: function () {
return Grid.ModalModel.find();
}
});
Grid.GriddataRoute = Ember.Route.extend({
model: function () {
return Grid.ModalModel.find();
}
});
Model.js :
Grid.ModalModel = DS.Model.extend({
fname: DS.attr('string'),
lname: DS.attr('string'),
email: DS.attr('string'),
contactno: DS.attr('string'),
gendertype: DS.attr('boolean'),
contactype: DS.attr('number')
});
Grid.ModalModel.FIXTURES = [
{
id: 1,
fname: "ghg",
lname: "gh",
email: "gh",
contactno: "4542154",
gendertype: true,
contactype: 1,
action1:"",
action2:""
},
{
id: 2,
fname: "ghg",
lname: "gh",
email: "gh",
contactno: "4542154",
gendertype: true,
contactype: 1,
action1:"",
action2:""
},
{
id: 3,
fname: "ghg",
lname: "gh",
email: "gh",
contactno: "4542154",
gendertype: true,
contactype: 1,
action1:"",
action2:""
}
];
Store.js :
Grid.Store = DS.Store.extend({
revision: 11,
adapter: 'DS.FixtureAdapter'
});
コントローラー:
return Grid.ModalModel.find();
ここでは、ビューはコントローラーからデータにアクセスしています。ビュー (didInsertElement) では、外部データグリッド関数を呼び出し、この関数に引数としてデータを渡しています。
次の問題が発生しています:
クラスを使用してデータにアクセスしようとしている場合Grid.ModalModel.find()
(console.log から次のデータを参照)
Class {type: function, store: Class, isLoaded: true, isUpdating: true, toString: function…}
私が使用する場合、return this.get('controller.model')
私は得ていますundefined
Grid.ModalModel.find()
json オブジェクトに変換しようとすると、次のエラーが発生します。
Uncaught TypeError: Converting circular structure to JSON
ここでモデルにアクセスしてjsonオブジェクト形式でデータを取得する方法を誰か教えてもらえますか?
次のコードを使用しようとしています
Grid.MainviewController = Ember.ArrayController.extend({
contentChanged: function() {
this.get('content').forEach(function(item){
// doing item.toJSON() gives you a plain JSON object
console.log(item.toJSON({includeId:true}));
});
}.observes('content.@each'),
showmodal: function(){
$('#modal').modal();
}
});
しかしconsole.log(item.toJSON({includeId:true}));
、次のエラーをスローしますUncaught TypeError: Object [object Object] has no method 'toJSON'