Ember.js emberSync.find可以工作,但emberSync.save()不能';T为什么?
我正在使用余烬同步、余烬本地搜索适配器和余烬火解决iOS/android应用程序中的脱机存储问题。由于一些未知的原因(我没有收到任何错误,这是最糟糕的部分)emberSync.find/从firebase中提取数据可以工作,但是emberSync.save()/将数据推送到firebase却不行 任何帮助都将不胜感激 我在这里提出了一个问题: 如果加载应用程序后,我在控制台中执行此操作:Ember.js emberSync.find可以工作,但emberSync.save()不能';T为什么?,ember.js,ember-data,firebase,emberfire,localforage,Ember.js,Ember Data,Firebase,Emberfire,Localforage,我正在使用余烬同步、余烬本地搜索适配器和余烬火解决iOS/android应用程序中的脱机存储问题。由于一些未知的原因(我没有收到任何错误,这是最糟糕的部分)emberSync.find/从firebase中提取数据可以工作,但是emberSync.save()/将数据推送到firebase却不行 任何帮助都将不胜感激 我在这里提出了一个问题: 如果加载应用程序后,我在控制台中执行此操作: var route = Ember.Namespace.NAMESPACES_BY_ID[''].__con
var route = Ember.Namespace.NAMESPACES_BY_ID[''].__container__.lookup('route:index');
我得到:
Class {routeName: "index", _names: Array[0], context: Class, currentModel: Class, controller: Class…}
然后,当我键入以下内容时:
var user = route.emberSync.createRecord('user', {name:'kurko'})
user.emberSync.save()
我明白了:
Class {id: "8tp85", store: Class, container: Container, _changesToSync: Object, _deferredTriggers: Array[0]…}
Class {__ember1412872464239: null, __nextSuper: undefined, __ember_meta__: Object, constructor: function, _super: function…}
然后当我输入这个时:
var user = route.emberSync.createRecord('user', {name:'kurko'})
user.emberSync.save()
我明白了:
Class {id: "8tp85", store: Class, container: Container, _changesToSync: Object, _deferredTriggers: Array[0]…}
Class {__ember1412872464239: null, __nextSuper: undefined, __ember_meta__: Object, constructor: function, _super: function…}
controllers/index.js
export default Ember.ObjectController.extend({
actions: {
save: function () {
var user = this.emberSync.createRecord('user', { name: this.get('name') });
user.emberSync.save();
console.log(this.get('name'));
console.log(user);
}
}
});
var attr = DS.attr;
export default DS.Model.extend({
name: attr('string')
});
export default Ember.Route.extend({
model: function () {
return this.emberSync.find('user', '2oj9m');
// return this.emberSync.createRecord('user', {name: 'Robinson'});
console.log(this.emberSync.find('user', '5keks'));
}
});
models/user.js
export default Ember.ObjectController.extend({
actions: {
save: function () {
var user = this.emberSync.createRecord('user', { name: this.get('name') });
user.emberSync.save();
console.log(this.get('name'));
console.log(user);
}
}
});
var attr = DS.attr;
export default DS.Model.extend({
name: attr('string')
});
export default Ember.Route.extend({
model: function () {
return this.emberSync.find('user', '2oj9m');
// return this.emberSync.createRecord('user', {name: 'Robinson'});
console.log(this.emberSync.find('user', '5keks'));
}
});
routes/index.js
export default Ember.ObjectController.extend({
actions: {
save: function () {
var user = this.emberSync.createRecord('user', { name: this.get('name') });
user.emberSync.save();
console.log(this.get('name'));
console.log(user);
}
}
});
var attr = DS.attr;
export default DS.Model.extend({
name: attr('string')
});
export default Ember.Route.extend({
model: function () {
return this.emberSync.find('user', '2oj9m');
// return this.emberSync.createRecord('user', {name: 'Robinson'});
console.log(this.emberSync.find('user', '5keks'));
}
});
templates/index.hbs
{{input value=name}}
<button {{action "save"}}>Save</button>
{{input value=name}
拯救
然后我转到我的firebase仪表板,我看到没有添加任何内容
但是,这个:route.emberSync.find('user','2oj9m')
工作正常,并返回一个承诺
所有代码都可在此处找到(主分支):