我需要等待的記錄在我的應用程序加載,但是,這並不工作:等待加載
var sectors = this.get('store').find('sector');
sectors.on('didLoad', function() {
console.log("loaded: " + this.get('formLoaded'));
});
它說,「對象的翻譯:具有‘開’都沒法「, 我做錯了什麼?
更新: 以下菜刀的建議下,我得到一個新的錯誤,因爲我用它來從服務器獲取數據,以填補選擇視圖:
我有一個這樣的控制器:
App.FormController = Em.Controller.extend({
sectors: function() {
var sectors = this.get('store').find('sector');
return sectors;
}.property(),
accesslevels: function() {
var accesslevels = this.get('store').find('accesslevel');
return accesslevels;
}.property(),
equipments: function() {
var equipments = this.get('store').find('equipment');
return equipments;
}.property(),
difficulties: function() {
var difficulties = this.get('store').find('difficulty');
return difficulties;
}.property()
});
,並在模板中我有:
sectors: {{view Ember.Select id="settore" contentBinding="sectors" optionValuePath="content.id" optionLabelPath="content.descrizione"}}
access levels: {{view Ember.Select id="liv_acc" contentBinding="accesslevels" optionValuePath="content.id" optionLabelPath="content.descrizione"}}
等; 這有時有效,有時並不是因爲我必須等待來自所有find()的記錄在渲染視圖之前加載;我試着按照Ember文檔中的「on('didLoad')」寫成,但不起作用;你能幫我找到原因嗎?
我的想法是在所有find()完成後將控制器的屬性(formLoad)設置爲true;然後在模板中使用它:{{ifLayad}} ...渲染視圖 –
下面的答案對你有用嗎? – chopper
我已經添加了一個新的答案;就像在那裏解釋的那樣,我一直在想,我有時會得到錯誤,是由於模型加載前的視圖渲染造成的......但是可能我錯了...... –