5
콜렉션을 모델링하기 위해 뷰에서 값을 가져오고 싶습니다. 콜렉션을 사용할 때 모델에 값을 전달할 수 있습니다. .i .i는 어디에서 문제가되는지 모르겠습니다. 내 코드입니다.값을 전달하는 방법 backbone.js의 컬렉션에서 모델
내 모델
var PostwallModel=Backbone.Model.extend({
urlRoot: 'http://localhost:3400/post',
idAttribute: '_id',
defaults : {
userId: '',
userName: " ",
postmsg : "unknown"
},
initialize: function() {
console.log("<><><>post model initialize<><><><><>");
},
// Delete item (row) from
clear: function() {
this.destroy();
}
});
내 컬렉션
여기에 콘솔에서 점점 내가 생각var PostwallCollection = Backbone.Collection.extend({
url: 'http://localhost:3400/post',
model: PostwallModel
});
**here is my view**
var PostwallView = Backbone.View.extend({
el: $("#page"),
template: _.template(PostwallTemplate),
events: {
'click #postinwall' : 'submitpost',
},
initialize: function() {
console.log("_______postmodel");
this.model = new PostwallModel();
var obj= new PostwallModel();
obj.set({userId:'123',userName:"str ji",postmsg:'the post is here'});
console.log(obj.get('postmsg'));
obj.toJSON();
console.log(JSON.stringify(obj));
// console.log(obj.get('userName'));
var collection = new PostwallCollection();
_.bindAll(this, 'submitpost');
console.log(collection);
collection.add(obj,{id:1});
console.log("collection"+collection);
console.log("collection fetch value "+JSON.stringify(collection.fetch()));
this.render();
},
render: function() {
alert(" render function");
},
submitpost: function(e) {
//Save post model to server data
e.preventDefault();
var post_data = JSON.stringify(this.getFormData(this.$el.find('form')));
//
//this.model.save(post_data);
this.model.set(post_data);
this.collection.add(this.model);
return false
},
//Auxiliar function
//how to get data from textarea
});
----> [], 컬렉션을 가져 값 [개체 개체], 문제는 어디에 있으며 값을 저장하고 가져 오는 방법은 무엇입니까?
아시다시피 .fetch()가 비동기 작업입니까? console.log ("콜렉션 가져 오기 값"+ JSON.stringify (collection.fetch())); 작동하지 않을 것이다. Jsbin 예제에 도움을 줄 수 있습니까? –
나는 당신이 좀 더 많은 정보를 줄 수 있겠습니까? @VasilVanchuk – Sport
그건 내가 말하는 것에 대한 것입니다 : collection.fetch()는 콜렉션 데이터를 반환하지 않습니다. 가져 오기가 http 요청을 만들어서 데이터가 성공적인 처리 응답. 따라서 console.log ("collection fetch value"+ JSON.stringify (collection.fetch()))와 같이 작성하십시오. 당신은 콜렉션 데이터를 보지 못할 것이다. –