いくつかのフィールドを持つフォームがあります。ユーザーがフィールドの 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 つのフォームしかない限り機能しますが、複数のヒント ビューがあると機能しなくなります。これは現時点では問題ありませんが、将来的に問題が発生する可能性があります。ハッキーな感じもします。
ビューを特定のフォームに関連付けるより直接的な方法はありますか?