Ember.js 余烬JS/车把视图辅助对象

Ember.js 余烬JS/车把视图辅助对象,ember.js,handlebars.js,Ember.js,Handlebars.js,当前,如果我们将视图定义为{{{#view App.myView}},则ember/handlebar将视图元素包装在中 有什么方法可以阻止这种情况吗?我假设您谈论的是不可自定义的“余烬视图”类(元素类型可自定义,这要归功于标记名属性…) 实际上,Ember后来使用这个类在文档上注册(一次!)一个事件监听器,以便将事件发送到JS视图 我不介意避免使用这个类会更简单。必须找到另一种方法来选择所有余烬的受控元素,但我不知道如何选择 请参见@line 117.如果要自定义视图元素的id,可以使用: {

当前,如果我们将视图定义为
{{{#view App.myView}}
,则ember/handlebar将视图元素包装在


有什么方法可以阻止这种情况吗?

我假设您谈论的是不可自定义的“余烬视图”类(元素类型可自定义,这要归功于标记名
属性…)

实际上,Ember后来使用这个类在文档上注册(一次!)一个事件监听器,以便将事件发送到JS视图

我不介意避免使用这个类会更简单。必须找到另一种方法来选择所有余烬的受控元素,但我不知道如何选择


请参见@line 117.

如果要自定义视图元素的id,可以使用:

{{#view App.myView id="my-id"}}

我通常认为我的观点是错误的。例如,如果初始给定html代码为:

<div class="item"><p>my stuff></p></div>
我的东西>

然后我创建了一个视图,其中标记名属性为“div”(这是默认值),classNames属性为“item”。这将使用适当的把手模板渲染:

{#view App.myView}
    <p>my stuff></p>
{/view}

-> render as

<div id="ember-1234" class="ember-view item">
    <p>my stuff></p>
</div>
{#view App.myView}
我的东西>

{/view} ->渲染为 我的东西>


然后,如果需要在此div上具有正确的ID,可以在视图类上定义“elementId”属性(在create()之前)。(@see)

如果我理解正确,您希望实现jQuery的
replaceWith
之类的功能吗?当我的拉取请求被合并时,您可以在Ember.js中使用它:


还可以查看一下

您可能希望将标记名设置为“”


至少它停止了对内部内容的包装。

实际上,我是说myView将这样生成。基本上,我不希望#myView被包装在#ember-1234中,但它在生成时仍然被包装在div中。我想摆脱包装部门。所以你想要的不是一个视图。。。你能详细说明一下你的代码样本吗?你的目标是什么?也许你可以在没有视图的情况下包含你的内容。
App.MyView = Em.View.extend({
    tagName: ''
});