0

何らかの理由で、Ember アプリケーションが作成された後 (つまり、すべての UI が開始された後) にのみ JavaScript を追加できます。

HTML は次のようになります。

<div id="ember21643" class="ember-view form_field ticket_type_id has-ticket-type-field">
    <label for="">
    <script id="metamorph-249-start" type="text/x-placeholder"></script>
    Type
    <script id="metamorph-249-end" type="text/x-placeholder"></script>
    </label>
    <div id="zd_mn_385" class="zd-selectmenu zd-selectmenu-root zd-state-default">
        <button id="zd_mn_386" class="zd-selectmenu-base" role="button" tabindex="0" style="width: 131px; "><span class="zd-selectmenu-base-arrow zd-icon-triangle-1-s"></span><span id="zd_mn_387" class="zd-selectmenu-base-content">-</span></button>
    </div>
</div>

jQuery を使用して DOM を直接変更するのは簡単ですが、Ember アプリケーションが壊れるのではないかと心配です。

このビューを変更する適切な方法はありますか。たとえば、次のようになります。

  • div コンテナにテキストを追加/先頭に追加する
  • 上記の例のように、テキストを「Type」ではなく別のものに変更します。

DOM インスペクションを使用すると、このビューには次の場所からアクセスできるように見えます。

Ember.View.views.ember21643

Ember.View.views.ember21643._childViews[0] 

「ラベル」を指しています。だから私は設定しました

Ember.View.views.ember21643._childViews[0]._lastNormalizedValue = "ABC" 

しかし、画面にはまだ「タイプ」が表示されているため、おそらくこれは行う方法ではありません。

助けてください。どうもありがとう。(私はEmberが初めてです)。

4

1 に答える 1

0

あなたの要点を見逃しているかどうかはわかりませんが、ember ビューのテキストを変更したい場合は、Ember バインディングを使用すると思います。

テンプレート

<div id="someView" type="text/x-handlebars">
  This sentence has a dynamic {{ end }}
</div>

見る

App.someView = Ember.View.extend({
  end : 'conclusion',
  templateName: 'someVIew' //not really necessary with new router to be explicit 
})

バインディング付きのビュー

App.someView = Ember.View.extend({
  endBinding : 'contoller.end',
  templateName: 'someVIew' //not really necessary with new router to be explicit 
})

それは役に立ちますか?:)

于 2013-01-08T07:34:29.493 に答える