我们说我有一个Ember组件" blah"我在我的模板中使用它
{{#blah}}
some content
{{/blah}}
我知道"一些内容"只要组件的hbs文件中有{{yield}},就会呈现。但有没有办法抓住一些内容"作为组件的js文件中的字符串? E.g。
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是模板的一部分,它在服务器上生成,并且在同一模板中可能有多个列表视图。 我要做的是在组件的渲染方法中获取{{#}} {{/}}标记之间的内容,解析它并手动呈现列表视图。
答案 0 :(得分:0)
你不能在模板中获取文本,除非你想破解它。
传递财产。
App.IndexController = Ember.Controller.extend({
someContent: function() {
return 'Lorem ipsum dolor sit amet.';
}.property()
});
<!-- in index template -->
{{#blah someContent=someContent}}
{{someContent}}
{{/blah}}
App.BlahComponent = Ember.Component.extend({
render: function(someContent) {
var someContent = this.get('someContent');
}
});