- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现某个节点的动态计数(如果已定义):
这可以工作,但它不是动态的,你必须调用 sum()。
app.factory("ArrayWithSum", function($firebaseArray) {
return $firebaseArray.$extend({
sum: function() {
var total = 0;
var todayDate = new Date();
var start = todayDate.setHours(0,0,0,0);
var end = todayDate.setHours(23,59,59,999);
// the array data is located in this.$list
angular.forEach(this.$list, function(rec) {
if (angular.isDefined(rec.qa)){
if (angular.isDefined(rec.qa.completed)) {
if (rec.qa.completed >= start && rec.qa.completed <= end){
total++;
}
}
}
});
return total;
}
});
});
我尝试了 $$update 但无法访问数组中的 this_counter:
app.factory("counter", function($firebaseArray) {
return $firebaseArray.$extend({
sum: function() {
return this._counter;
},
$$updated: function(){
var changed = $firebaseArray.prototype.$$updated.apply(this, arguments);
var todayDate = new Date();
var start = todayDate.setHours(0,0,0,0);
var end = todayDate.setHours(23,59,59,999);
if( !this._counter ) {
this._counter = 0;
}
// the array data is located in this.$list
angular.forEach(this.$list, function(rec) {
if (angular.isDefined(rec.qa)){
if (angular.isDefined(rec.qa.completed)) {
if (rec.qa.completed >= start && rec.qa.completed <= end){
this._counter++;
}
}
}
});
return changed;
}
});
});
有谁知道如何创建一个可以更新和访问的动态变量?
谢谢
最佳答案
让它与 $firebaseObject 一起工作。显然,您可以将属性 _counter 添加到对象而不是数组。不管怎样,这都是获得动态计数的好方法。
app.factory("counter", function($firebaseObject) {
return $firebaseObject.$extend({
$$updated: function(){
var changed = $firebaseObject.prototype.$$updated.apply(this, arguments);
if( !this._counter ) { this._counter = 0; }
var total = 0;
var todayDate = new Date();
var start = todayDate.setHours(0,0,0,0);
var end = todayDate.setHours(23,59,59,999);
// the array data is located in this.$list
angular.forEach(this, function(rec) {
if (angular.isDefined(rec.qa)){
if (angular.isDefined(rec.qa.completed)) {
if (rec.qa.completed >= start && rec.qa.completed <= end){
total++;
}
}
}
});
this._counter = total;
return changed;
}
});
});
vm.panels = new counter(panelsRef);
{{vm.panels._counter}}
我遇到了 watch 在 IE11 上长时间运行后不触发的问题。所以我想尝试这种方法。
关于javascript - Angularfire $firebaseArray 扩展动态计数\总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46444972/
使用 firebaseArray,是否可以按指定的子键进行排序: ( https://www.firebase.com/docs/web/guide/retrieving-data.html#sect
我正在尝试实现列表详细信息 View 。该列表是使用 $firebaseArray(ref) 生成的。当单击列表中的某个项目时,列表 Controller 使用 list.$getRecord(ite
我发现了一些类似的主题,但其中大多数已经过时了,因为我使用的是 Angularfire 1.1.1。 我有一个 AngularJS 应用程序在 Google map 上创建标记。数据存储在外部 JSO
下面是我的 firebase 查询,运行良好: var orderedPlayers = databaseService.players.orderByChild("id"); 我的目的是将每个玩家的
我正在制作 Angular-Fire 待办事项列表的修改版本。此修改包括创建子列表和子列表的子列表。 我的问题是,当我添加第一级子列表时,子对象没有我需要附加下一级子列表的 $id。 它们似乎没有常见
目前,我正在使用 AngularFire 学习 Firebase,但我遇到了一个问题。 我想从 Firebase 查询两个列表,一个是每个经过身份验证的用户都可以获取的公共(public)消息列表(在
我正在尝试实现某个节点的动态计数(如果已定义): 这可以工作,但它不是动态的,你必须调用 sum()。 app.factory("ArrayWithSum", function($firebaseAr
我使用 AngularFire 从 Firebase 请求一些数据像下面这样。 $rootScope.userTags = $firebase($fbCurrent.child('tags')).$a
我在 firebase 中有这个对象: Groups -id1 name: a -id2 name: b -id3 name: c 我这样使用“群组”:
我有一个代码结构,我在其中准备了完美运行的商店。但是,我需要列出每个商店中的促销事件,并且每个促销事件都有一个唯一的 ID,因此我想知道如何按照以下代码列出每个商店内的所有促销事件: 在 app.js
第二次编辑:现在的问题是无法将 $scope.hashtag 传递给 hashFilter 回调函数。很近! 进展编辑:我真的很接近破解这个问题,但不知道如何在 $scope 更改时重新运行过滤器。
我正在使用 $firebaseArray 从 Firebase 收集数据。输出如下: [ { "BankAccount": { "AccountHolder": "Tom An
我最近发现David East's firebase blog post并且已经开始将我的 $loaded 使用从我的 Controller 转移到我对每个 View 的解析中。出现的一个问题涉及我正
我觉得我一定遗漏了一些非常基本的东西。这是我的部分服务: angular.module('fire') .constant('FIREBASE_URI', 'https://___.firebas
我一直在努力正确实现这一点,我以为我已经做到了,但根据这个例子,我做错了。如何在 Controller 中使用这个工厂?预期的结果是什么? 示例: app.factory("ListWithTotal
我想知道如何对 $firebaseArray 中的项目应用部分更新,而文档中没有提及这一点令人困惑。 .$save 似乎破坏了整个项目: var ref = new Firebase("https:/
我有以下设置: var x = $firebaseArray(ref); x.$loaded().then(function () { self.y = //I change y based
我正在 Angular (angularfire) 中工作,试图将两个 firebaseArray 组合成一个对象,但返回调用的异步性质使其变得困难。我想做一些简单的事情,例如: $scope.ite
我在使用 AngularFire/Firebase 从集合中获取单个记录时遇到了一些问题(然后,在我拥有它之后,将其从集合中 $remove'ing )。我相信我正在遵循位于此处的正确文档:https
我正在使用 Angularfire,并且存在一种情况:$firebaseArray 或 $firebaseObject 首先什么也不返回。这是因为它是空的或者还不存在。但我想一直对那个对象/数组进行
我是一名优秀的程序员,十分优秀!