0
我正在使用餘燼的項目。有條件的邏輯可以放在HTML模板,控制器和函數定義的位置。我有一個操作只需要在全局變量爲true時觸發。條件操作邏輯應該去哪裏?
<div {{action 'CallThisAction' on='click'}}>...</div>
在.hbs我可以做
{{#if global.x}}
<div {{action 'CallThisAction' on='click'}}>...</div>
{{else}}
<div>...</div>
{{/if}}
或在功能我可以
CallThisAction(){
if(global.x){
//do something
}
}
或我可以添加邏輯到控制器,以防止CallThisAction被稱爲偏置關閉全球。控制器也被折舊。
我還可以通過爲PARAM:
CallThisAction(x){
if(x){
//do something
}
}
有一個更清潔的方式做到這一點?理想情況下,這裏的解決方案會很好:Feature Request
我申請了答案。我試圖更好地理解爲什麼,你能提供一個理由嗎? – ajputnam
模板應該只存儲所需的邏輯。它是視圖層而不是控制器層。模板和組件應儘可能簡單。關於如何處理操作的邏輯應該存儲在控制器中。如果在沒有設置global.x時不需要在模板中顯示不同的HTML,但只想設置global.x時觸發操作,則最好將global.x檢查移至控制器並保持模板簡單。 –
太棒了!這就說得通了。 – ajputnam