如何使用Firebase数据制作一个简单的d3图表
How do I make a simple d3 chart with Firebase data?
我试图查询firebase中录制了多少首特定歌曲。换句话说,我试图得到歌曲的总播放次数,并将其绘制在图表上。
我试图得到firebase数组的长度,但我知道我必须使用$loaded.then(function())。我该如何在这里使用它?我的控制器:
(function () {
function MetricsCtrl($scope,$firebaseArray, Metric) {
var firebaseRef = new Firebase("https://bloc-jams.firebaseio.com/");
$scope.options = {...};
var blue = $firebaseArray(firebaseRef.child('Songs').orderByChild('name').equalTo("Blue"))
var green = $firebaseArray(firebaseRef.child('Songs').orderByChild('name').equalTo("Green"))
var red = $firebaseArray(firebaseRef.child('Songs').orderByChild('name').equalTo("Red"))
var pink = $firebaseArray(firebaseRef.child('Songs').orderByChild('name').equalTo("Pink"))
var magenta = $firebaseArray(firebaseRef.child('Songs').orderByChild('name').equalTo("Magenta"))
$scope.data = [
{
values: [
{
"label" : "Blue" ,
"value" : blue.length
} ,
{
"label" : "Green" ,
"value" : green.length
} ,
{
"label" : "Red" ,
"value" : red.length
} ,
{
"label" : "Pink" ,
"value" : pink.length
} ,
{
"label" : "Magenta" ,
"value" : magenta.length
}
]
}
]
}
angular
.module('blocJams')
.controller('MetricsCtrl', ['$scope','$firebaseArray','Metric', MetricsCtrl]);
})();
您的推理是正确的,只有在加载firebase数组后才能制作图表。
如果你正在使用angular的承诺服务$q:
$q.all([ blue.$loaded(),
green.$loaded(),
red.$loaded(),
pink.$loaded(),
magenta.$loaded()
]).then(makeChart)
function makeChart(data) {
// data[0] is blue, data[1] is green, etc.
// ...
// $scope.data = [{...}]
}
相关文章:
- Moment/Jquery-一个简单时间线的愚蠢问题
- 问题用moment JS制作一个简单的时间表
- 测试一个简单的javascript按钮
- 用Jquery map和moment js制作一个简单的时间线
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 一个简单的粘性头jQuery脚本的问题
- Sencha Touch使一个简单的按钮工作
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- 如何在Javascript中定义一个简单的自动重启倒计时
- 如何使一个简单的HTML文件成为wordpress中可用的页面
- 如何用D3添加一个简单的圆弧
- angularjs做一个简单的倒计时
- 创建一个简单的处理 p5.js 库
- 是否有一个简单的 JQuery 过程来替换页面上每段内部文本的字符串
- 如何在构造函数中创建一个简单的DOM元素,并在调用时将其附加到元素中
- 是否可以将PHP的一个简单片段重新编码为javascript
- 尝试创建一个简单的求和计算器
- 如何使用jquery添加一个简单的转换
- 正在寻找一个简单的JavaScriptHTMLGUI构建器,我可以将其嵌入到我的网站中