我有以下Backbone View:
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);
}
});
我正在考虑在初始化View之前,Body中已存在标识为DOMid
的HTML元素。然后我将视图初始化为:
new MyView({DOMid:'mydiv',i:2});
但我收到错误:cannot read property i of undefined
我也尝试过:
var MyView = Backbone.View.extend({
initialize: function(atrs) {
this.id = 'myview'+atrs.i;
$('#'+atrs.DOMid).append(this.$el);
}
});
在这种情况下生成视图,但其中没有任何id属性。
我如何实现目标。
答案 0 :(得分:0)
如果要动态设置MyView的id,则必须使用以下函数:
id: function() { return 'myview'+atrs.i; },
但更简洁的方法是在实例化时使用MyView指定的args:
new MyView({el:'#mydiv',id:'myview2'});