0

由于某些原因,我只能在创建 Ember 应用程序后添加 javascript(即所有 UI 都已启动)。

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 容器追加/前置文本
  • 将文本更改为其他内容,而不是上面示例中的“类型”。

使用 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 回答