问题标签 [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.
ember-data - 基于 auth id 的动态适配器 pathForType
有没有办法在模型适配器的路径中包含用户的身份验证 uid?例如,假设您有一个聊天应用程序和一个conversation
模型来表示两个用户之间的私人消息会话,其中数据存储如下:
因此,使用这种结构,适配器的路径需要是conversations/<currentUserAuthUID>
.
(仅供参考,这是一个 ember-cli 项目,如果这有什么不同的话。)
ember.js - 不会自动获取异步记录
我正在尝试通过 Firebase 支持的 ember 应用程序显示一些 CI 信息。如果我这样做,this.store.find('plan');
它会获取并显示所需项目的计划,但它不会像我想要的那样自动异步获取计划。我不太确定我做错了什么。
我的模板
当我尝试访问 project.plans 属性时,如何让 ember-data 异步关系自动获取?
编辑:
我尝试使用 Ember-CLI 的 http-mock 进行模拟,并将以下内容发回/projects
现在正在添加计划数组。我现在只需要弄清楚这在firebase上是如何工作的。
ember.js - 使用以前删除的 ID 创建的记录会生成未捕获的错误
在我的应用程序中,我有一个我认为是相当标准User
的模型,其 ID 基于经过身份验证的用户的fbRef.getAuth().uid
值(在我的情况下由匿名身份验证提供程序分配)。我有一个全局用户,它随着用户身份验证/取消身份验证而动态更新,使用基本this.store.find('user')
调用填充。
当用户注销,然后使用相同的身份验证 uid 重新验证/登录时,就会出现问题。我在其他当前连接的浏览器的控制台中收到以下错误:
未捕获的错误:尝试
pushedData
在状态为 root.deleted.uncommitted 时处理事件。
(但是请注意,执行注销/重新登录的用户/浏览器没有收到错误)
在这种情况下我还需要做些什么来确保 emberfire 自动删除的记录在每个连接的客户端的缓存存储中完全提交,或者这是某种限制?
作为参考,以下是我在用户登录时创建记录的方式:
当他们退出时:
ember.js - 如何从 Ember 中的另一个控制器访问模型
这是一个新手问题:我正在商店(Ember-data)中创建一个新的章节记录。我想将章节 ID 添加到用户模型记录的 User.chapters 属性中。
我创建了一个注入到路由和控制器中的 Session 对象
但是,Session 对象不是 Model,无法使用 Save() 方法保存到 Store:
我探索的另一个选项是从用户路由模型挂钩访问用户记录。用户路线:
我尝试需要从章节控制器访问用户记录:
但是,用户仍然不可用。
我想象我的语法不正确。如果有人能告诉我一种访问用户记录的正确方法,我将不胜感激,这种方法可以从章节控制器修改和保存。
Chapters 路由没有嵌套在 User 路由下,因为模板没有嵌套。即使模板没有嵌套使用 ModelFor(),我是否应该在用户路由下嵌套章节路由?
ember.js - 在哪里使用适配器使用 customToken 进行身份验证
我们正在尝试使用 customToken 向 Firebase 进行身份验证 - 在我们迁移到 EmberCLI 之前,这一直有效,因为我们在应用运行时的后期启动了这些 Firebase 特定的适配器。
现在尝试在适配器的较早阶段启动 authCustomToken,流程如下:
- 启动适配器
- 挂钩“init”并从后端请求令牌
- 收到令牌时 - authWithCustomToken
代码看起来很像这样:
解决这个问题的最佳方法是什么?
firebase - Firebase 自定义唯一 ID
在我的 EmberFire 应用程序中,URL 如下所示:
有没有办法自定义 Firebase 中的唯一 ID,如下所示:
ember.js - 如何组织我的模型
我尝试建立一个简单的聊天。用户可以选择另一个与之交谈。我将 Ember 与 Firebase 一起使用。我已经建立了我的模型,例如 firebase 示例。
这是我的简单模型。用户模型:
消息模型:
Emberfire 不支持“findQuery”余烬数据类型搜索,那么我如何检索属于对话的所有消息?这是定义我的模型的正确方法还是有另一种方法?在理想情况下,我只想用一个请求检索所有消息。(从所有者到目标,从目标到所有者)
ember.js - Firebase 的基本安全规则
我在使用 Firebase 实施基本安全规则时遇到问题(我阅读了有关 Firebase 和 StackExchange 的文档,但无法使安全规则生效):
模型(模型的 Emberjs 表示):
这 3 个节点(模型)直接存储在 Firebase 应用的根目录中。Book 和 Action 模型有一个user
字段(属性)。
编写规则是什么,以便:
- 只有 Book 和 Action 模型(节点)的 user 字段中标识的用户才能对自己的数据进行读写访问?(
user
Book 和 Action 中的字段值必须等于auth.uid
Firebase 中的值,用户才能被授予读写权限。) - 用户只能访问属于他们的用户模型(节点)的信息吗?
谢谢
ember.js - 保存 Ember 数据记录
问题:
- 这行代码
_activeAuthor.get('books').pushObject(book).save();
在 Chrome 中被正确处理,但是这本书没有添加到 Ember-Data 的 _activeAuthor 实例的 books 属性中。我不明白为什么? - 下面的代码将创建的 Book 添加到 Chapter 实例的 Book 属性(见注释)。它是一对多的关系(参见模型)。Ember-Data 似乎会自动填充 Book 实例上的相关记录。这是 Ember-Data 的正常行为吗?我应该让 Ember-Data 以一对多的方式填充关系的相关方,还是应该指定双方并保留两个实例?
- 我怀疑以下代码的问题之一是我没有正确处理承诺。此代码:
this.modelFor('user').get('latestChapter');
似乎返回了一个承诺。我应该如何处理承诺get()
?
代码:
楷模:
谢谢!
javascript - Ember.js 身份验证操作不起作用
这是我第一次使用 ember.js。当用户成功登录(经过身份验证)时,我正在尝试使用控制器执行操作。但是,我当前保存用户状态甚至更改属性 'this.set('userSignedIn', state);' 的方法 不管用。我不确定为什么,我猜这与我的“状态”变量的范围有关,或者“this”对象可能没有传递给“ref.authWithOAuthPopup()”。我希望有人能指出正确的方向。