动态地将数组命名为`$ scope`以在ng-repeat中使用

时间:2018-01-10 19:44:06

标签: javascript angularjs firebase angularfire

我正在尝试将数组动态命名为$scope,如此

$scope['list_'+id] = $firebaseArray(ref);

现在我想在ng-repeat中使用它

<li ng-repeat="list in ['list_'+department.$id]">

但是没有迭代数组,所以我尝试了以下

if(typeof $scope.L == 'undefined'){ $scope.L={}};

$scope.L['list_'+id] = $firebaseArray(ref);

HTML

<li ng-repeat="list in L['list_'+department.$id]">

确实适用于AngularJS,但它并没有很好地使用AngularFire

所以我想让版本1工作,因为我认为它与angularjs和angularfire很接近....你能看出为什么方法1不工作?你能看出为什么在我修改会话中的数组之前,method2没有使用angularfire吗?

1 个答案:

答案 0 :(得分:0)

使用函数在ng-repeat中调用动态var名称。而不是

<li ng-repeat="list in ['list_'+department.$id]">

<li ng-repeat="list in get_list(department.$id)">

该功能看起来像这样

$scope.get_list = function(id) {
    return $scope['list_'+id];
}