我有幾個組件,每個組件都有一個模板,我如何爲餘燼組件分配一個通用模板?如何爲餘燼組件分配一個通用模板
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