Как я могу сделать, если я пытаюсь объединить 2 строковых значения? Например, ng-repeat = "a in (name + 'List')". Значение строки имени в этом выражении allList, jonnyList, henryList. Как я могу это сделать?

Пример кода:

<ul ng-repeat="a in name+List"> // i want if "name = 'all'", Return the values in allList.
    <li>{{a}}</li>
</ul>
1
Erdem Aydemir 24 Апр 2017 в 15:47

2 ответа

Лучший ответ

Вы можете создать функцию, которая будет возвращать нужный массив как $scope's соответствующее свойство:

$scope.dynamicArray = function(name){
    return $scope[name + 'List'];
}

<ul ng-repeat="a in dynamicArray(name)">
    <li>{{a}}</li>
</ul>
4
Slava Utesinov 24 Апр 2017 в 12:56

Определите метод области, который добавляет «Список», а затем используйте этот метод в ng-repeat

$scope.getList = function(name) {
   return $scope[name + "List"];
};

<ul ng-repeat="a in getList(name)">
    <li>{{a}}</li>
</ul>
2
devnull69 24 Апр 2017 в 12:52
43588481