0

いくつかのフィールドを持つフォームがあります。ユーザーがフィールドの 1 つをクリックすると、フォームの横にある div に、そのフィールドに関する情報と最適な入力方法が入力されます。この情報 div は実際にはビューであり、各フィールドにtip属性を割り当ててヘルプ テキストを入力します。コードは次のようになります。

# form field
Em.TextField valueBinding="name" tip="Put the <strong>name</strong> of your organization here."

# views
# Tip Box
Whistlr.TipBoxView = Em.View.extend
  templateName: 'tipBox'
  classNames: ['ember-tip-box']
  content: ""

  actions:

    setContent: (content) ->
      @set 'content', content

# Text field
Em.TextField.reopen
  tip: ''

  click: ->
    Ember.View.views[$(".ember-form-info-box").attr('id')].set 'content', @tip

# template
== view.content

これは十分に機能しますが、その一部が本当に気になります。具体的には、ヒント ボックス ビューを見つけるために、次のように検索します Ember.View.views[$(".ember-form-info-box").attr('id')]。これは、1 つのヒント ビューを持つ 1 つのフォームしかない限り機能しますが、複数のヒント ビューがあると機能しなくなります。これは現時点では問題ありませんが、将来的に問題が発生する可能性があります。ハッキーな感じもします。

ビューを特定のフォームに関連付けるより直接的な方法はありますか?

4

1 に答える 1