0

ビューがレンダリングされる前に、いくつかの変数を設定したいと考えています。具体的には、半ランダムなクラス名と ID を作成したいと考えています。

buttonBarId: ""
inputClass: ""

random: 0

willInsertElement: ->
  @set('random', Math.floor(Math.random() * (999999 - 100000 + 1)) + 100000)
  @set('buttonBarId', 'wmd-button-bar-' + @get('random'))
  @set('inputClass', 'wmd-input-' + @get('random'))

私はそれがうまくいくことを望んでいwillInsertElementましたが、残念ながらそれが呼び出されるまでに、ビューはすでに作成されています (まだ DOM に配置されていません)。ビューを作成する前にこれらの変数を設定する方法はありますか?

4

1 に答える 1

2

ビューがレンダリングされるのではなく作成される前に (または実際にはいつ) 実行したい場合は、このビューの "init" メソッドをオーバーライドする必要があります。ビューがビュー クラスからインスタンス化されるときに呼び出されます。ああ、この init メソッドのどこかで this._super() を実行することを忘れないでください。そうでなければ、何も機能しません。

于 2013-11-12T09:44:38.637 に答える