Ember.js Don';我不想在Ember.Collection视图中使用任何标记(包括默认的div标记) 标题听起来可能很愚蠢,考虑下面的代码

Ember.js Don';我不想在Ember.Collection视图中使用任何标记(包括默认的div标记) 标题听起来可能很愚蠢,考虑下面的代码,ember.js,handlebars.js,Ember.js,Handlebars.js,我的车把锉 我希望它在#主表内呈现4个表,而不是在#主表外呈现它们,因为它将我的itemViewClass包含在默认的div标记内。我只能更改标记名属性,但不能将其设置为nil。我想,是否有针对此问题的黑客攻击 对第一个答案的回应 {{each}}的问题是,我使用的EditableField如下: (听起来很清楚,editable field是一个在双击时将div更改为textfield的字段,在focus out时返回到div标记,这是一个使用ember构建的简单小部件) 更新的车把文件 我

我的车把锉

我希望它在#主表内呈现4个表,而不是在#主表外呈现它们,因为它将我的
itemViewClass
包含在默认的
div
标记内。我只能更改
标记名
属性,但不能将其设置为nil。我想,是否有针对此问题的黑客攻击

对第一个答案的回应 {{each}}的问题是,我使用的EditableField如下:
(听起来很清楚,editable field是一个在双击时将div更改为textfield的字段,在focus out时返回到div标记,这是一个使用ember构建的简单小部件)

更新的车把文件


我希望在其中一个editableField中的值发生更改时,观察者触发,以便更新数据库中的记录。我们可以使用{{each}}助手来完成这件事吗?另外,arrayContentDidChange仅在数组长度更改时才会触发。好吧,DOM中不能没有“真实存在”的Ember.View,但是如果不想添加充当容器的视图(这里是
Ember.CollectionView
),可以使用
{{each}}
帮助程序

将标记名
设置为
null
无效

模板:

<script type="text/x-handlebars">
    <table id="main-table">
  <tr>
    <td>
      <h1>Some Text</h1>
    </td>
    {{#each App.content}}
      <td>
        <table><tr><td>{{name}}</td></tr></table>
      </td>
    {{/each}}
  </tr>
</table>
</script>​

请参阅。

可以在余烬视图中执行此操作

App.MyView = Ember.View.extend({
  tagName: ''
});

很好,路易+1。感谢您花时间帮助他人:)@louiscoquio:谢谢您的回复,但请查看更新的问题,对不起,我之前没有添加此详细信息。您可以发布myEditableFieldView的代码吗?也许您可以用一个简单的“您仍然可以访问子视图/父视图”,如在这个JSFIDLE中:。如果它仍然不够,也许您必须使用
Ember.ContainerView
。但就我个人而言,我认为你的模板并不干净,
CollectionView
应该更多地用作
或直接用作
,例如。@sly7\u 7:@louiscoquio:我想要表的列,这是一个模糊的例子,我正在使用{collection}的代码当然也在我的工作中。但不是空的。我认为这是因为最初提出了这个问题而添加的。
标记名:'
在更改路由时会导致错误。我的观点不会因为路线改变而被破坏。(ember 1.2)在ember 1.9.1中-标记名:“”起作用,但将其设置为false则不起作用。我来这里是想说@Nathan所说的^^^关于
false
@的建议MichaelJohnston在ember 1.13.5(HTMLBars)中不起作用,而是创建了一个HTML标记
<代码>标记名:'
适合我。
<table id="main-table">
  <tr>
    <td>
      <h1>Some Text</h1>
    </td>
    {{#collection myCollectionView}}
    <td>
      <table>
        <tr><td>{{view.myEditableField valueBinding="view.content"}}</td></tr>
      </table>
    </td>    
    {{/collection}}
  </tr>
</table>
myCollectionView = Ember.CollectionView.extend({
  contentBinding: "myController.someArray",
  //someArray has say 4 elements
  itemViewClass: Ember.View.extend({
    alertFunc: function(){
      alert("content did change");
    }.observes('content')
  })
})
<script type="text/x-handlebars">
    <table id="main-table">
  <tr>
    <td>
      <h1>Some Text</h1>
    </td>
    {{#each App.content}}
      <td>
        <table><tr><td>{{name}}</td></tr></table>
      </td>
    {{/each}}
  </tr>
</table>
</script>​
App = Ember.Application.create();
App.content = [{name: "foo"}, {name: "bar"}, {name: "baz"}];
App.MyView = Ember.View.extend({
  tagName: ''
});