我有一个博客。每篇博文都可以有多个下载。对于下载,我创建了一个组件downloads
目前我在每个帖子的末尾渲染它们,如下所示:
{{#each download in sortedDownloads }}
<p>
<a class="dl-button" {{ action "incDownload" download }}>
{{ download.name }} ({{ download.size}}MB)
</a> - {{ download.downloadcount }} Hits
</p>
{{/each}}
我希望能够在帖子内容本身中编写类似[downloads]
的内容(仅通过{{{post.parsedBody}}}
呈现,并将其替换为与上述内容类似的部分。
这是可能的还是你有更好的方法来实现这个目标?
答案 0 :(得分:1)
使用outlet
或yield
无法实现这一点,因为渲染引擎不会解释帖子内容。
应该使用的是在您的内容中添加占位符,就像您提到的那样,并将其替换为post.parsedBody
中的某个可识别的HTML占位符。
然后,您可以在didInsertElement
上创建View
,并调用该视图的appendTo()
方法,以在占位符内呈现下载。
可以说写一些jquery-ish元素也有效,但我认为在视图树中插入任意元素是可怕的,并且违背了管理视图树的Ember方式。
干杯!