我有几个组件,每个组件都有一个模板,我如何为余烬组件分配一个通用模板?如何为余烬组件分配一个通用模板
1
A
回答
1
要使组件之间公共的模板我可能会执行下列操作中的一个,
- 继承从另一个,或从一个基地一个部件延长
layoutName
属性
例1: http://emberjs.jsbin.com/jewohekiwu/1/edit?html,js
- 使用共同
partial
辅助
例2:http://emberjs.jsbin.com/helefevome/1/edit?html,js
还具有继承的制品没有layoutName属性和一个公共部分http://blog.yanted.com/2014/01/17/inheritance-with-ember-js-components/
例1 HBS
<script type="text/x-handlebars" data-template-name="index">
{{my-comp1 testProp="lala"}}
<br/>
{{!other-name-for-comp2 testProp="lolo2"}}
{{my-comp2 testProp="lolo"}}
</script>
<script type="text/x-handlebars" data-template-name="components/my-comp1">
comp1 - testProp:{{testProp}}
</script>
JS
个App.MyComp1Component = Em.Component.extend({
layoutName:"components/my-comp1",
test:function(){console.log("comp1");console.log(this.get("testProp"));}.on("init")
});
App.MyComp2Component = App.MyComp1Component.extend({
test:function(){console.log("comp2");console.log(this.get("testProp"));}.on("init")
});
//Em.Handlebars.helper("other-name-for-comp2", App.MyComp2Component);
例题 HBS
<script type="text/x-handlebars" data-template-name="index">
{{my-comp1 testProp="lala"}}
<br/>
{{my-comp2 testProp="lolo"}}
</script>
<script type="text/x-handlebars" data-template-name="components/my-comp1">
{{partial "_commonTemplate"}}
</script>
<script type="text/x-handlebars" data-template-name="components/my-comp2">
{{partial "_commonTemplate"}}
</script>
<script type="text/x-handlebars" data-template-name="_commonTemplate">
comp1 - testProp:{{testProp}}
</script>
JS
App.MyComp1Component = Em.Component.extend({
test:function(){console.log("comp1");console.log(this.get("testProp"));}.on("init")
});
App.MyComp2Component = Em.Component.extend({
test:function(){console.log("comp2");console.log(this.get("testProp"));}.on("init")
});
+1
第一种方法是为我工作。但是我的组件是相互独立的,所以我通过js文件中的layoutName属性为每个组件指定了一个通用模板。 – wupeng 2014-10-30 02:35:39
相关问题
- 1. 如何通过布局的余烬模式框在余烬2.8
- 2. 编辑带有余烬和余烬的handlebars模板
- 3. 返回第一个模型余烬js模板
- 4. 指定目标行为到一个余烬组件
- 5. 如何从一个组件过渡到一个路由在余烬
- 6. 用承诺测试余烬组件
- 7. 使用余烬测试非余烬数据模型
- 8. 如何重新初始化一个余烬数据模型
- 9. 烬如何在模板
- 10. 如何在余烬项目中使用余烬推动器
- 11. 在余烬视图的上下文外使用了一个ember-rails handlebars模板
- 12. Sails.js,灰烬,车把和通过咕噜-烬模板配置:模板文件未创建
- 13. 为烬组件
- 14. 如何分配的无标签烬组件的类名
- 15. 从余烬中移除余烬cli-mirage
- 16. 如何安慰我的余烬模型作为json值?
- 17. 使用grunt把手和余烬一起,在不同的文件中拆分模板
- 18. 如何从组件发送数据以路由余烬?
- 19. 如何在smarty模板文件中分配数组?
- 20. 如何在smarty模板文件中分配对象数组
- 21. 如何使用Zendesk的余烬资源适配器的示例
- 22. 余烬:this._ref.push不是一个函数
- 23. 余烬从每个环路
- 24. 如何刷新烬(活)中的模板?
- 25. 手动序列化一个余烬数据模型
- 26. 如何添加视角的余烬模板,以便其操控注入
- 27. 火力地堡,余烬和余烬创建用户
- 28. 余烬:在余烬网络中使用cookies
- 29. 如何单元测试一个余烬控制器
- 30. 如何开始一个新的余烬项目
在这种情况下,为什么你有几部分组成?你可以有一个组件。对 ?你可以给你的代码提供你想要做的jsbin吗? – Susai 2014-10-29 08:10:46
嗯,通过指定相同的模板名称? – 2014-10-29 08:12:28
@Susai看起来很奇怪,但我愿意接受,可能会出现这样的情况:两个逻辑方面不同的组件可能在某种程度上有用地共享相同的模板。 – 2014-10-29 08:14:40