仅显示列表中一个元素的标记。ember.js.(隐形收藏,对话)
我有一个比我需要使用仅显示列表中一个元素的标记。ember.js.(隐形收藏,对话),ember.js,discourse,Ember.js,Discourse,我有一个比我需要使用ember.js的源代码(论述)。我正在尝试使用隐藏集合处理列表中的一个“post”(第一个) //topics.hbs {{#unless model.postStream.loadingFilter}} {{cloaked-collection itemViewClass="post" defaultHeight="200"
ember.js
的源代码(论述)。我正在尝试使用隐藏集合处理列表中的一个“post”(第一个)
//topics.hbs
{{#unless model.postStream.loadingFilter}}
{{cloaked-collection itemViewClass="post"
defaultHeight="200"
content=postsToRender
slackRatio="15"
loadingHTML=""
preservesContext="true"
uncloakDefault="true"
offsetFixedTop="header"
offsetFixedBottom="#reply-control"}}
{{/unless}}
//post.hbs
//some code here.
//Then I want to insert <div class="uniw"></div> only on the first post
//topics.hbs
{{#除非model.postStream.loadingFilter}
{{隐藏的集合itemViewClass=“post”
defaultHeight=“200”
content=postsToRender
松弛比=“15”
loadingHTML=“”
preservesContext=“true”
uncloakDefault=“true”
offsetFixedTop=“header”
OffsetFixedBooth=“#应答控制”}”
{{/除非}
//博士后
//这里有一些代码。
//那么我只想在第一篇文章中插入
问题是:对于itemViewClass=“post”
的列表,如何检查我是否在第一个“post”中?这样我就可以在代码中插入一个片段。您应该能够使用来获取集合的第一个对象。大概是这样的:
{{items.firstObject}}
在每个块内,您可以检查索引:
{{#each people as |person index|}}
{{#if (is-equal index 0)}}
{{person}}
{{/if}}
{{/each}}
请注意,is equal是非标准辅助对象。您可以从插件获取它,也可以自己编写它您可以看到代码正在使用隐藏集合
。我不确定你的解决方案是否适合我发布的代码,这似乎是一段旧代码;这取决于Ember.View
,正如您所见。因为,隐藏的集合
不是一个组件,并且似乎没有提供上下文组件用法;恐怕你不能达到你想要的。如果您的项目不是必须使用的旧式应用程序,则必须使用隐藏的集合
;我建议搜索并升级到一个更新的插件。谢谢你的回复,但我最终通过javascript/jquery完成了我的解决方案,并在html呈现后插入了元素。