基于 Localstorage 更改 Firebase Array Ref

Change Firebase Array Ref based on Localstorage

我遇到了以下问题:

我有一个 select 元素是用户选择的选项。 此选项保存到本地存储。 现在我想使用这个存储值作为 firebasearray 的路径。

基本上它似乎可以工作,但我无法在不点击重新加载的情况下更新 firebasearray 引用。

我的 firebasearray 工厂:

.factory("MyFireFactory", ["$firebaseArray", "$localStorage",
  function($firebaseArray, $localStorage) {
var ref = firebase.database().ref('demodata/' + $localStorage.selectedoption);
return $firebaseArray(ref);
  }
])

阅读 angular 文档后 angular docs 如果发现 “...Angular 中的所有服务都是单例...”这基本上意味着如果我理解正确的话,它们只 运行 一次。 就我而言,这意味着我必须将我的工厂代码移至控制器,以便可以使用来自本地存储的数据。

我现在工作的控制器:

var ref = firebase.database().ref('demodata/' + $localStorage.selectedoption);
$scope.demoscop = $firebaseArray(ref);