根据用户输入Angular-Rails声明多个范围

时间:2014-08-06 13:19:57

标签: javascript ruby-on-rails angularjs

我有$scope 1到5 lists,具体取决于用户输入。在每个list中,都会有一个items数组。我的list名称为list1list2 ....我的问题是当我使用$scope声明$scope.list = [];时,它当然不会知道哪个列表。由于我是静态命名它们并且它们的限制为5我知道我可以声明每个list。我觉得这有点太沉重而且效率不高。是否有更好的方法根据用户输入声明每个list

1 个答案:

答案 0 :(得分:1)

您可以动态地在$scope上声明属性 - 与任何其他javascript对象一样。

因此,$scope.myList = []$scope['myList'] = []

相同

使用您的用户输入,您可以通过用户输入在作用域上创建这些列表属性。

Psuedo-code可能是:

$scope.myButtonClick = function(){
     // where userInput is a number
     for (i = 0; i < userInput; i++){
         $scope['list' + (i+1).toString()] = [];
    }    
}