【发布时间】:2014-11-26 17:24:37
【问题描述】:
假设我有一个 Ember 组件“blah”,我在我的模板中像这样使用它
{{#blah}}
some content
{{/blah}}
我知道只要组件的 hbs 文件中有 {{yield}},就会呈现“一些内容”。但是有没有办法在组件的 js 文件中将“一些内容”作为字符串抓取?例如
App.BlahComponent = Ember.Component.extend({
render: function(buffer) {
var someContent = ???
}
});
更新
只是为了澄清我想要做什么。我想创建一个列表视图组件。像这样的
{{#list-view}}
<div> html for list item </div>
<div> html for form </div>
{{/list-view}}
列表视图呈现多个列表项。当您单击列表项时,将显示表单。所有列表项的表单都相同,但绑定到当前列表项的模型。上面的 html 是模板的一部分,它是在服务器上生成的,同一个模板中可能有多个列表视图。 我要做的是获取组件渲染方法中 {{#}}{{/}} 标记之间的内容,对其进行解析并手动渲染列表视图。
【问题讨论】:
-
解释你期望的最终结果可以更容易找到正确的答案。
-
someContent 来自哪里?是 JSON 还是 XML?您获得的答案的数量和质量与问题的质量直接相关。
-
为什么需要解析
someContent?你说这些是来自服务器的表单,我猜你已经收到了 HTML/DOM 元素。使用 JQuery 将其插入到div。我想是时候让你做一个了:emberjs.jsbin.com
标签: javascript ember.js