繁体   English   中英

主干.js中的动态el值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM