[英]How to pass only model[0] to a component from the template in Ember?
我只想將模型 [0](第一個數據元素)傳遞給模板中的組件。 我有一個路由文件如下:
/order.js
export default Route.extend({
firstIndex: computed('data', {
get(){
return Ember.get(this,'data[0]');
}
}),
model(params) {
return fetch(`/api/salesrowmodel/${params.order_id}`)
.then(resp => resp.json())
.then(function(data) {
return {
data,
};
});
},
});
FirstIndex 是一個計算屬性,用於返回數組的第一個索引數據。 現在在模板中,我想將第一個索引數據傳遞給一個組件:
/order.hbs
<div class="Revenue-values">{{order-detail data=firstIndex.revenueHeader}}</div>
我的示例模型數據如下:
[{
"OrderId": "406-5309498-5972326",
"revenueHeader": {
"Principal": 982.14,
"Product Tax": 117.86,
"Total": 1100
}},
{
"OrderId": "506-5234568-5934567",
"revenueHeader": {
"Principal": 382.54,
"Product Tax": 34.46,
"Total": 234
}}]
它顯示 null 或 undefined 對象正在傳遞給訂單詳細信息。 請幫我解決這個錯誤。
首先,模板沒有綁定到路由,而是綁定到控制器。 所以你需要將你的計算屬性移動到控制器。
Next Ember.get(this,'data[0]');
是無效的。 您不能使用Ember.get
訪問數字屬性,以及數組元素。 依賴鍵computed('data',
也應該computed('data.[]',
然而,有一個更簡單的方法:
{{order-detail data=model.firstObject}}
因為 ember 將firstObject
和lastObject
添加到數組中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.