我正在構建訂購咖啡的應用程序。在其中一條路線上,我有商店菜單,其中有一系列具有類型,大小,價格屬性的飲料。舉例來說,12盎司摩卡可能需要5.00美元。EmberJS中的表結構化數據
我在構建這些數據和顯示它的時候遇到了困難,我在想,也許我並沒有用「餘燼的方式」來思考,因爲我是一般的新開發人員和前端開發人員。
在我的路線中,我嘗試了一些不同的事情。我有一個'商店飲料'的模型,返回商店的所有飲料。我嘗試過使用它作爲我的模型,並且能夠將模型中的所有商店飲料都返回,但由於沒有像{{if drink.type == 'Mocha'}}
這樣的內置幫助程序,因此很難在格式中顯示所有飲料。
我試過的另一件事是使用Ember.RSVP.hash來分隔路線中的飲料,然後在我的模板中安裝Ember Truth Helpers來確定每個飲料的大小。
// routes/menu.js
model: function() {
// get the drinks for the current store, for now hardcode
const storeId = 4;
return Ember.RSVP.hash({
mochas: this.store.find(
'store-drink', {'store':storeId, 'type':'Mocha'}),
espressos: this.store.find(
'store-drink', {'store':storeId, 'type':'Espesso'}),
})
},
setupController: function(controller, model) {
controller.set('mochas', model.mochas);
controller.set('espressos', model.espressos);
}
//menu.hbs
{{#each drink in mochas}}
{{if (eq drink.type 'Mocha')}}
<h2>mochas</h2>
{{drink.type}}
{{/if}}
{{/each}}
不僅會收到在控制器我的「摩卡」對象返回的所有飲料,但我似乎無法得到的安裝,如果幫手擦出火花。
有什麼建議嗎?也許我應該有一個完全不同的方法,或者我只是想念一些東西。
我在灰燼1.13
哎對不起,我在複製代碼時犯了一個錯誤 - 處於變化中。其實它是'{{if(eq drink.type'Mocha')}}'根據文檔,但我得到一個構建錯誤,說塊不匹配 – awwester
@awwester你需要'#'。 –
好的,謝謝我有模板部分工作,並更好地理解助手與#和沒有#之間的區別。任何想法爲什麼我的mochas對象不是隻返回具有摩卡類型的飲品?我希望路線按類型過濾飲料,但由於某種原因,我的mochas對象正在返回所有飲料類型。 – awwester