Javascript 动态渲染主干视图

Javascript 动态渲染主干视图,javascript,backbone.js,Javascript,Backbone.js,我有以下主要观点: var MyView = Backbone.View.extend({ id : 'myview'+atrs.i, //i is the property of atrs passed as parameter to view initialize: function(atrs) { $('#'+atrs.DOMid).append(this.$el); } }); 我认为在初始化视图之前,主体中已经存在idDOMid的HTML元素。然后,我将视图初始化

我有以下主要观点:

var MyView = Backbone.View.extend({
  id : 'myview'+atrs.i, //i is the property of atrs passed as parameter to view

  initialize: function(atrs) {
   $('#'+atrs.DOMid).append(this.$el);
  }
});
我认为在初始化视图之前,主体中已经存在id
DOMid
的HTML元素。然后,我将视图初始化为:

new MyView({DOMid:'mydiv',i:2});
但是我得到了错误:
无法读取未定义的属性I

我还尝试:

var MyView = Backbone.View.extend({

  initialize: function(atrs) {
   this.id = 'myview'+atrs.i;
   $('#'+atrs.DOMid).append(this.$el);
  }
});
在本例中,将生成视图,但其中没有任何id属性


如何实现我的目标。

如果要动态设置MyView的id,必须使用以下函数:

id: function() { return 'myview'+atrs.i; },
但一种更干净的方法是在实例化时使用MyView的指定参数:

new MyView({el:'#mydiv',id:'myview2'});

您是否尝试过将
.append(this.render().$el)
改为
.append(this.$el)
?@TMichel结果没有变化