use*_*926 4 javascript backbone.js reactjs
我以前从未有过这个,我只能假设它找不到div它试图渲染的元素呢?哪个没有意义,因为当我console.log在事件触发之前和之后的元素触发它存在,但错误被抛出....
以下是一个骨干视图 - 渲染一个reactjs组件,我们传入deleteEvent: this.handleDeleteEvent.bind(this)允许我们在一行中单击删除,它将在事件中冒泡并遍历,实质上是重新调用集合并重新呈现组件.
但它React.renderComponent()导致了手头的问题:
AisisWriter.Views.PostIndex = AisisWriter.Views.CoreView.extend({
writer_posts: new AisisWriter.Collections.Posts(),
handleDeleteEvent: function(id){
var toDelete = new AisisWriter.Models.Post();
toDelete.set({id: id});
toDelete.destroy().then(this.deleted(id), this.failedToDelete);
return false
},
deleted: function(id) {
var options = { reset: true };
this.writer_posts.fetch(options).then(this.postsRecieved.bind(this), this.serverError);
},
postsRecieved: function(collection, response, options) {
this.render(collection);
if ($('#flash-error').is(':visible')){
$('#flash-error').hide();
}
$('#flash-success').show();
},
serverError: function() {
if ($('#flash-success').is(':visible')){
$('#flash-success').hide();
}
$('#flash-error').show();
},
failedToDelete: function() {
if ($('#flash-success').is(':visible')){
$('#flash-success').hide();
}
$('#flash-error').show();
},
render: function(postsObject) {
element = this.getElement();
var totalPerPage = postsObject.total_pages.total;
var posts = postsObject.posts;
React.renderComponent(new PostTable({posts: posts, maxPages: totalPerPage, deleteEvent: this.handleDeleteEvent.bind(this)}), element);
}
});
Run Code Online (Sandbox Code Playgroud)
这是第一次呈现 - 非常棒.你看到一个带有帖子的表,然后你点击它删除它一直到 - 从模型中删除它,回忆集合一直渲染.从那里它获得总页数,帖子,然后将它们传递给组件,在那个阶段,我得到:
Uncaught TypeError: Cannot read property 'parentNode' of undefined
有没有人有任何想法?
| 归档时间: |
|
| 查看次数: |
7320 次 |
| 最近记录: |