заселение с использованием динамического массива в angularJS

66
9

Как я могу передать динамическую переменную для выбора для моей ng-модели флажка. Вот ссылка jsfiddle.

http://jsfiddle.net/bmleite/PQvQ2/

Здесь я хочу заменить id в.js файле переменной как:

function Ctrl($scope) {

$scope.categories = [ { "name": "Sport", "id": "50d5ad" } , {"name": "General", "id": "678ffr" } ];

var someId = $scope.categories[1].id;
$scope.selection = {
ids: {someId: true}
};
}

Но это не работает. Если я заменил "someId" на "General", он отлично работает.

спросил(а) 2021-01-19T23:12:36+03:00 9 месяцев, 1 неделя назад
1
Решение
91

вы можете использовать свойства объекта двумя способами

object.property1 или object[property1]

оба произведут одинаковый результат, поэтому, если вы перейдете к этому файлу js,

var app = angular.module('app', []);

function Ctrl($scope) {

$scope.categories = [{
"name": "Sport",
"id": "50d5ad"
}, {
"name": "General",
"id": "678ffr"
}];

//define selection object
$scope.selection = {ids : {}};

angular.forEach($scope.categories, function(category){
$scope.selection.ids[category.id] = true;
});

}

он даст вам правильный результат, вот обновление JSFIDDLE...

ответил(а) 2021-01-19T23:12:36+03:00 9 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема