问题标签 [angularfire]
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.
angularjs - 如何防止 AngularFire 在重新上线时同步过时的数据?
我正在使用AngularFire来管理协作单页应用程序和 FireBase 之间的同步状态。当所有客户端都在线时,这非常有效,但我发现当一个从睡眠中返回并重新连接时,它对世界的陈旧视图似乎会覆盖其他客户端上更新的数据。
观察
在我的应用程序中,如果学生将checkInTime
属性设置为某个值,则将其视为已签入,否则将视为已签出。当一个客户端使用下面的示例数据离线并且另一个仍然活跃的客户端签出第三个学生时,当离线客户端重新上线时,学生可能会重新出现(此时似乎有一段时间不稳定,所有客户端' 数据有点混乱,我理解这是 FireBase 合并过程的自然部分)。
实施细节
具体来说,我有这种形式的数据:
这些数据通过 Angular 服务绑定到我的$rootScope
via angularFire(new Firebase(centerUri + 'students'), $rootScope, "user.students");
,以便可以在我的应用程序中的不同视图之间共享数据。然后将该$rootScope.user
对象绑定到子作用域中,以便我的视图模板可以引用该students
数组。
此外,在我的主视图模板中,我通过调用这样的控制器函数来显示学生签到的持续时间$scope.getDuration = function (student) { ... }
。因此,我的主要视图还有一个 setTimeout 循环,它$scope.$digest()
每 30 秒启动一次,以确保持续时间字符串是最新的。
我想了解的是,当客户端重新联机时,我可以做些什么来帮助确保在合并过程中获得正确的最新数据,以及我可能做错了什么来混淆 FireBase。
谢谢!
javascript - AngularJS/Angularfire 无法拼接对象
尝试使用 splice 删除对象时出现错误:TypeError: Object # has no method 'splice'
的结果console.log($scope.posts[$routeParams.id]);
我的添加和编辑功能都按预期工作。remove 是相似的,所以我希望它也能正常工作。
控制器.js
应用程序.js
删除.html
dom - AngularJS 和 DOM 中的 .add() 有区别吗?
AngularJS 和 DOM 中的.add()方法有区别吗?我在 AngularJS 应用程序中使用.add()并且遇到了将数据推送到 firebase 的 *问题。当我查看文档进行一些研究时,我在 AngularJS 文档中没有发现任何关于此方法的信息。我发现DOM 中的.add()用于向选择添加选项(例如 Object_of_Select.add(option, before);)。但这并不能真正将 IMO 转化为我在 AngularJS 中的使用方式。
*我遇到的问题:我对 Firebase 和持久数据没有任何问题,它超级简单而且很棒。但是,当我获取一个对象(在此示例中为“活动”)并将对象推入对象的嵌套数组(“策略”)时,我遇到了问题。第二次添加本地数据后,我无法再将该数据“添加”到 Firebase。没有错误,什么都没有。
因此,如果有人能指出我正确的方向,那就太好了。
模板
控制器
所需的数据结构(我正在尝试创建可以在单个广告系列中包含多种策略的广告系列。)
angularjs - 使用 angularFireCollection 而不是 angularFire 时如何更新?
我已经阅读了文档,我看到有一个更新方法。但是我没有任何运气。我得到“无法调用未定义的方法'更新'”。但是,我可以将更新更改为“添加”并且该功能有效。我做错了什么,我只是不知道是什么..
这是我的代码:
谢谢你的帮助。
javascript - 如何防止每次模型更改时触发ng-repeat(涉及Firebase/angularFire)
我正在使用从 Firebase 与 angularFire 同步/获取的数据来构建 DOM。每个 DOM 元素都是用这个简单的指令构建的:
并且所有元素都使用 ng-repeat 顺序呈现在网站上,并且每个元素/模型都可以使用 textarea 进行编辑:
在 Firebase 中,节点存储为一个数组,因此可以直接使用 ng-repeat 以正确的顺序显示它们。当我尝试编辑绑定到上面文本区域的任何模型时,问题就开始了,ng-repeat 在每次击键时工作。这会导致文本区域失去焦点,页面在渲染时闪烁,最烦人的是,在重新生成页面之前,我一次只能输入一个字符。不知道如何解决这个问题。
谢谢你的时间,
贾里德
firebase - 将firebase facebook auth与facebook graph api一起使用
我正在使用 firebase facebook 简单登录。
有什么办法可以将它与 facebook js graph api 结合使用?
比方说,打电话FB.api('xxx', function(){})
?
firebase - 如何获取 angularFire 返回值并传递给另一个 angularFire?
假设我得到了控制器中的数据列表,如下所示
然后有一个$scope.data.id
。我如何id
在另一个 angularFire 中使用它
javascript - 如何使用 angularfire 集合在 firebase 中显示数据?
我在 url “ https://wpladv.firebaseio.com/adventure ”中有一些 firebase 数据,并且我的 js 文件中有以下代码:
我的 HTML 中也有以下代码
firebase 中的数据采用 JSON 格式。我的问题是如何使用 angularfire 集合对象在 url 中显示数据?我是 angularfire 的新手,任何建议都将不胜感激。提前致谢。
angularjs - 使用angularFire的“未定义不是函数”错误
我正在尝试显示来自 firebase 的数据,并且我有以下代码。我已经为我的应用声明了 firebase 依赖项。
在控制台中,我看到angularFire(ref, $scope, "tours");
语句中发生的错误。我不知道如何解决这个问题。
我控制器中的整个代码是
错误显示在“var categoryPromise = dataLoad.loadCategories($scope, 'categories')”语句中
我的 api js 文件中有以下代码。
错误显示在“return angularFire(dbUrl + cat, scope, items, []);”中 在此声明。我在控制台中看到的错误是“错误:请提供 Firebase 引用而不是 URL,例如:new Firebase(url)”。
angularjs - 使用 AngularFire 创建初始数据
我正在使用 AngularJS 和 Firebase 创建一个 webapp,以便同时学习两者。
我在 firebase (activitylog) 中有一些用户活动数据,这些数据对于新用户来说是不存在的。在添加活动数据的控制器中,我无法找出创建新用户条目以记录新数据的最佳方法。我有以下内容,似乎必须有更好的方法,因为它会导致以后永远不会使用的“虚拟”条目。我的 firebase 被安排为活动日志是用户 id 的子项,例如 firebase/activitylog/[userid]/[activityId]/[activityEntry]。它不必是这样,只是似乎是目前组织它的最佳方式。(请注意,根据 FireFeed RSS 开源项目,我有一个处理名为 fbRef 的 firebase 引用的工厂)。如果在引用不存在的东西时调用 angularFire() 只是创建了一条记录,那就太好了,但它只是给出了一个错误。任何帮助,将不胜感激。