【发布时间】:2013-01-08 00:19:23
【问题描述】:
由于某些原因,我只能在 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 的新手)。
【问题讨论】:
-
“不修改原始源代码”是什么意思?您是否正在尝试编写一些与正在运行的 ember 应用程序交互但无法修改该应用程序源代码的 JS 代码?
-
@Michael:是的,这正是我想要做的。除了上述之外,我还发现 Ember.View.views.ember21643._childViews[0] 指向的是“标签”。所以我改变了 Ember.View.views.ember21643._childViews[0]._lastNormalizedValue = "ABC" 但它仍然在屏幕上显示“类型”......有什么想法吗?
标签: javascript html ember.js