[英]dynamic el value in backbone.js
我想为el id值使用诸如post-header-id-23之类的值。 我只是要像这样使用jQuery:
$('#post-header-id-' + this.model.id).after(compiled_template);
但看起来事件并没有发生。 有没有一种方法可以解决此问题,以使jQuery选择器不会禁止普通选择器。 另外,它看起来像:
el: $('#post-header-id' + this.model.id ),
但是我该如何在render函数中设置呢? 还是我做错了其他事?
谢谢
这里的关键是您必须确定何时才是确定“ el”是什么的正确时间。 不幸的是,您不能仅仅给Backbone一个选择器,并期望它神奇地保持最新状态。
因此,请记住,如果“ render”是设置el的正确时间(通常是初始化或渲染是正确的位置),则只需要使用Backbone的setElement
函数(有些新颖)即可:
var SomeView = Backbone.View.extend({
render: function() {
this.setElement($('#post-header-id' + this.model.id));
return this;
}
})
从0.9.9版本开始
声明视图时,如果希望在运行时确定其值,则可以将options,el和tagName定义为函数。
这样的事情应该做到:
id: function() {
return '#post-header-id' + this.model.id
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.