繁体   English   中英

使用适用于Firebase的EmberFire适配器保存模型后,Ember模板不会更新

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM