[英]Ember template doesn't update after saving model with EmberFire adapter for Firebase
我将Firebase用作Ember应用程序的后端,并成功地将Firebase与EmberFire挂钩。 但是,当我尝试在创建记录后保存模型时,将模型发布到Firebase时,它们不会在客户端的余烬模板中更新。
在意识到这一点之前,我为动作处理程序编写的代码是:
actions: {
publishPost: function() {
var newPost = this.store.createRecord('post', {
title: this.get('post.title'),
body: this.get('post.body'),
timestamp: new Date()
});
newPost.save();
}
}
我的代码通过捕获save()和find()方法返回的promise尝试解决此问题(但不起作用)是:
actions: {
publishPost: function() {
var newPost = this.store.createRecord('post', {
title: this.get('post.title'),
body: this.get('post.body'),
timestamp: new Date()
});
this.store.find('post').then(function(posts) {
posts.addObject(newPost);
posts.save().then(function() {
newPost.save();
});
});
}
}
我只是没有正确处理以上代码中的逻辑以更新模板,还是为此提供了另一个Firebase / EmberFire兼容解决方案?
在https://github.com/broerse/ember-cli-blog-fire上,我这样做:
import Ember from "ember";
export default Ember.ObjectController.extend({
actions: {
createPost: function() {
var newPost = this.get('store').createRecord('post');
newPost.set('date' , new Date());
newPost.set('author' , 'C.L.I. Ember');
this.get('target').transitionTo('post', newPost.save());
}
}
});
transitionTo可以处理newPost.save()承诺。
尝试一下: http : //exmer.com/bloggrfire/posts
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.