綁定到一個模型關係屬性失敗失敗,如下面所示:綁定到模型關係屬性在每個幫助的每個幫助
這裏是我的模型:
//app/models/category.js
export default DS.Model.extend({
name: DS.attr(),
image: DS.belongsTo('image', { async: true }),
});
//app/models/image.js
export default DS.Model.extend({
name: DS.attr('string'),
thumbfullfilepath: DS.attr('string'),
category: DS.belongsTo('category', { async: true })
});
當我運行的類別在下面的每一個把手幫助檢索圖像標記的「thumbfullfilepath」的模式,沒有值被綁定到IMG SRC:
{{#each model as |category|}}
<div class="small-element item">
<div class="cat-name"><a href="#">{{category.name}}</a></div>
<div class="cat-name edit">{{#link-to 'admin.categories.edit' category}}Edit{{/link-to}}</div>
<span class="entry-thumb">
<img src={{category.image.thumbfullfilepath}} alt="">
</span>
</div>
{{/each}}
不過,我已經驗證了關係綁定在顯示單個模型時起作用,因爲當我訪問加載單個類別模型的「admin.categories.edit」路由時,會檢索{{category.image.thumbfullfilepath}}路徑並將其反映到模板中。這使我相信,出於某種原因,模板中的每個句柄幫助器中的模型關係綁定都會失敗。
會有人在這裏說一些光。
##已經爲我工作的解決方案,我創建了一個圖像組件「形象原子」,其component.js是如下:
//pods/components/image-atom.js
export default Ember.Component.extend({
tagName: 'img',
attributeBindings: ['src', 'alt'],
alt: '',
src: Ember.computed(function() {
this.get('source').then((image) => {
this.set('src', image.get('thumbfullfilepath'));
});
return null;
})
});
我用像這樣在這裏的下方,它的工作原理但感覺哈克:
{{#each model as |category|}}
<div class="small-element item">
<div class="cat-name"><a href="#">{{category.name}}</a></div>
<span class="entry-thumb">
{{image-atom source=category.image alt=""}}
</span>
</div>
{{/each}}
這裏下面是環境的詳細信息:
- 燼CLI版本: 「2.2.0-beta.2」
- 燼數據: 「^ 2.2.1」
- 燼: 「2.2.0」
- 節點: 「0.12.7」
- 故宮: 「2.14.10」
- OS: 「達爾文64埃爾卡皮坦」
讓我知道。
非常感謝您的回覆。將嘗試你的解決方案,回來並將其標記爲答案。但是,快速的一個,不應該處理欄模板綁定應該自動更新關係屬性?關於使用計算屬性中的承諾。我同意,我不得不放棄計算的屬性解決方案,因爲它給出了間歇結果,並選擇側載相關的圖像模型,它似乎工作。將回到你這一個。 – Masita
剛剛驗證您的解決方案的作品。非常感謝再次! – Masita