问题标签 [emberfire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1221 浏览

ember.js - 在 Ember.js 和 emberFire 中保存关系

假设我有两个模型,Book并且Chapter.

使用 emberFire。

根据有关关系的文档,使用该async: true选项,Firebase 会期望我的数据如下所示。

我可以保存一个Chapter就好了,但是我似乎无法获得chapters一个Book填充了新创建的Chapter.

在 Chrome 控制台中:

上面的代码并没有按照我期望的方式保存chapters属性。book任何帮助,将不胜感激。


编辑

看起来将chapter对象添加到book.chapters属性的正确方法是:

但是如果对象上存在验证错误chapter,它将被添加到book.chapters属性中但不会被保存(创建无效引用)。你如何解决这个问题?

0 投票
1 回答
236 浏览

ember.js - 在 Ember 路线上找不到 EmberFire 模型数据。错误:加载路线时出错:未定义

当尝试使用 EmberFire firebase 适配器查找模型时,我得到undefined一个错误结果:Error while loading route: undefined. 我也尝试过创建模型,但似乎无法持久化它们,所以也许我的配置有误。

jsBin在这里:http ://emberjs.jsbin.com/kuyujohi/14/edit?js

0 投票
0 回答
630 浏览

firebase - 如何创建空白的 Firebase 参考

假设我有一个 firebase,我想将 Book 和 Chapter 对象添加到根节点,看起来像这样。

我遇到的具体问题是如何在没有对象的情况下获得空白章节参考。像下面这样

您不能在 firebase 中将其留空,否则章节参考将消失。我想也许我可以在章节参考中添加一个 .keep 或其他内容,但这也不起作用。此外,如果我从章节引用下方删除所有章节对象,则会删除章节引用。

我想要这些空白引用的主要原因是我可以从某个引用中删除所有对象,然后将引用保留在 firebase 中,以便我可以向它写入更多对象。因此,如果有另一种方法可以使用 firebase/emberFire 来实现这一点,很高兴知道。

0 投票
1 回答
754 浏览

ember.js - 使用 Firebase 简单登录保护路由

我正在尝试在使用 Firebase 简单登录和ember-cli.

  1. 在允许进入任何路由之前检查用户是否已通过身份验证。所有路由都需要进行身份验证。
  2. 如果用户未通过身份验证,则重定向到LoginRoute. 如果用户通过身份验证,则允许他们进入路由。

为了完成第 1 步,我Ember.Route在初始化程序中重新打开并实现了一个beforeModel钩子。

login如果用户当前没有登录,上面的代码确实会重定向到。

LoginController只需实例化一个新FirebaseSimpleLogin对象并注册适当的回调函数。

我的实现有两个问题。

  • LoginController首次初始化时,设置isAuthed为 false。因此,authCompleted完成后,应用程序将始终重定向到index.
  • beforeModel钩子在回调完成之前执行,导致钩子authCompleted重定向到login.

页面刷新的结果是

  1. 模板闪烁一login秒钟。
  2. 应用程序转换为index.

这会导致每次页面刷新都会丢失其当前位置(重定向到index路由)。

问题是,如何使用 Ember 和 Firebase 简单登录来保护路由?任何帮助,将不胜感激。

0 投票
1 回答
614 浏览

ember.js - 如何使用 emberfire 从 Firebase 中删除帖子

我是 Ember.js 和 Firebase 的新手,我设法添加了一个帖子并将其显示在屏幕上,但我无法删除它,有人可以帮助我吗?

0 投票
2 回答
795 浏览

ember.js - Ember CLI - 使用 npm 安装后未定义 Firebase

在命令行中执行以下步骤以使用节点安装 Ember CLI、Firebase 和 EmberFire 后,我收到一条错误消息,指出 Firebase 未在 app/adapter/application.js 中定义

此时我可以在 localhost:4200 看到我的 ember 应用程序,默认输出为“Welcome to Ember.js”

然后在 app/adapter/application.js 中,移除“export default DS.RESTAdapter.extend({});” 并粘贴“导出默认 DS.FirebaseAdapter.extend({ firebase: new Firebase('https://.firebaseio.com') });” 使用我自己的 Firebase URL

然后我在终端中收到错误:

我曾尝试在上面指定的目录中创建 firebase.js 文件,但它会导致一连串全新的错误,所以我认为我错过了安装步骤。即使在通过命令行“安装”它之后,我是否需要在我的应用程序中手动包含 Firebase?

0 投票
1 回答
465 浏览

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

我使用 Firebase 作为我的 Ember 应用程序的后端,并成功地将 Firebase 与 EmberFire 连接起来。但是,当我在创建记录后尝试保存模型时,将它们发布到 Firebase 时,它​​们不会在客户端的 ember 模板中更新。

在我意识到这一点之前,我的动作处理程序代码是:

我通过捕获 save() 和 find() 方法返回的承诺来尝试解决这个问题(但这不起作用)的代码是:

我只是没有正确处理上述代码中的逻辑来更新模板,还是有另一个与 Firebase/EmberFire 兼容的解决方案?

0 投票
0 回答
220 浏览

ember.js - emberSync.find 有效,但 emberSync.save() 无效。为什么?

我正在使用 ember-sync、ember-localforage-adapter 和 emberfire 来解决 iOS/android 应用程序中的离线存储问题。并且由于某些未知原因(我没有收到任何错误,这是最糟糕的部分) emberSync.find/pulling data from firebase 有效,但 emberSync.save()/pushing data to firebase 没有。

任何帮助将不胜感激。

我在这里提出了一个问题:https ://github.com/kurko/ember-sync/issues/22

如果在加载应用程序后我在控制台中执行此操作:

我得到:

然后,当我输入以下内容时:

我明白了:

然后当我输入这个:

我明白了:

controllers/index.js

models/user.js

routes/index.js

templates/index.hbs

然后我去我的firebase仪表板,我看到没有添加任何东西......

但是,这:route.emberSync.find('user', '2oj9m')工作正常并返回一个承诺

所有代码都可以在这里找到(主分支):https ://github.com/codepreneur/embersync-localforage-example

0 投票
0 回答
274 浏览

javascript - 离线火力基地不起作用 EmberFire(和 ember-cli)

当我尝试将离线火力与 EmberFire 一起使用时,我收到这些错误(并且没有任何内容保存到火力库):

离线火力基地错误

adapters/application.js

app.js

index.html

controllers/index.js

这是离线火力问题还是我做错了什么?:) https://github.com/yeldarby/offline-firebase/issues/6

0 投票
2 回答
914 浏览

ember.js - emberfire 有没有办法指定模型上的时间戳属性应该被赋予 Firebase.ServerValue.TIMESTAMP 值?

我有一个带有时间戳属性的模型。在服务器上创建记录时,我希望该属性的值由服务器而不是客户端提供值初始化,以便这些时间戳在不同客户端之间保持一致。

如果我直接使用 firebase API,那么我知道我可以使用特殊令牌 Firebase.ServerValue.TIMESTAMP 来实现这一点。但我不知道如何使用 ember-data 和 emberfire 适配器来做到这一点。