我正在编写一个脚本,使用Firebase与我的Raspberry Pi上的pin值仪表板进行交互。它还允许我通过firebase更新这些引脚值。我设法创建了一个动态脚本,可以使用任何给定数量的引脚,但我遇到的一个部分是如何动态创建实际的firebase引用本身。例如;
如果我想引用前9个引脚,我在脚本中创建了9个引用;
var myFirebaseRef1 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/1");
var myFirebaseRef2 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/2");
var myFirebaseRef3 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/3");
var myFirebaseRef4 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/4");
var myFirebaseRef5 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/5");
var myFirebaseRef6 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/6");
var myFirebaseRef7 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/7");
var myFirebaseRef8 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/8");
var myFirebaseRef9 = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/9");
我怎样才能将这一批次贴入循环并避免重复10行?我尝试过使用EVAL函数,Arrays等,但没有一个有效?!我已设法变异'脚本栏的每个方面都有这个位!
答案 0 :(得分:0)
您可以将每个Ref存储在这样的数组中,例如
var fires = {};
for (i = 1; i < 10; i++) {
fires["myFirebaseRef" + i] = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/" + i);
}
或全球window
var:
for (i = 1; i < 10; i++) {
window["myFirebaseRef" + i] = new Firebase("https://ant-torch-2.firebaseio.com/gpio2/" + i);
}
并像这样访问每个参考:
console.log(myFirebaseRef1);
然后它将全球可用。在使用闭包/范围时,您可能不希望这样。