0

el id値には、post-header-id-23などの値を使用したいと思います。私はちょうどこのようにjQueryを使用するつもりでした:

$('#post-header-id-' + this.model.id).after(compiled_template);

しかし、イベントは接続されていないようです。jQueryセレクターが通常のセレクターを禁止しないようにそれを修正する方法はありますか?または、次のようになります。

el: $('#post-header-id' + this.model.id ),

しかし、これをレンダリング関数でどのように設定しますか?それとも私は何か間違ったことをしていますか?

どうも

4

2 に答える 2

3

ここで重要なことは、「el」が何であるかを決定する適切な時期を判断する必要があるということです。残念ながら、Backbone にセレクターを与えるだけで、魔法のように最新の状態を維持できると期待することはできません。

したがって、「レンダリング」がelを設定する適切なタイミングである場合(通常、初期化またはレンダリングが適切な場所である場合)、バックボーンの(やや新しい)setElement関数を使用する必要があるだけです:

var SomeView = Backbone.View.extend({
    render: function() {
        this.setElement($('#post-header-id' + this.model.id));
        return this;
    }
})
于 2012-12-13T21:33:38.250 に答える
0

バージョン 0.9.9 以降

View、options、el、および tagName を宣言するときに、それらの値を実行時に決定する場合は、関数として定義できるようになりました。

このような何かがそれを行う必要があります:

id: function() {
  return '#post-header-id' + this.model.id
}
于 2012-12-15T02:06:13.120 に答える