我希望我能给它一个更具描述性的标题,但我真的不知道我想做的事情的名称。我有一个 JSON 列表,看起来像这样:
$scope.users =
{
// list name and the "title" must be the same
Guest:
{
title: 'Guest',
list:
[
{ id: "0", name: "Stephen" },
{ id: "1", name: "Mitch"},
{ id: "2", name: "Nate"},
{ id: "3", name: "Rob" },
{ id: "4", name: "Capt. Jack"},
{ id: "5", name: "Herman" }
]
},
Admin:
{
title: 'Admin',
list:
[]
}
};
而且我需要动态评估一个字符串(“Guest”或“Admin”或任何其他尚未创建的用户组)以便将用户从一个用户组移动到另一个用户组。
我正在使用的函数如下所示:
$scope.moveUser = function(fromId, toId, index) {
scope.users.toId.list.push(scope.users.fromId.list[index]);
scope.users.fromId.list.splice(index, 1);
};
“fromId”和“toId”是评估用户组名称(“Admin”或“Guest”)的字符串。现在,该函数正在尝试查找名为“toId”的 JSON 字段,并在找不到任何字段时出错。我将如何首先评估字符串,以便如果 toId == "Guest"和 fromId == "Admin",我的函数变为:
scope.users.Guest.list.push(scope.users.Admin.list[index]);
scope.users.Admin.list.splice(index, 1);
最佳答案
将您的 $scope.moveUser 函数更改为
$scope.moveUser = function(fromId, toId, index) {
$scope.users[toId].list.push($scope.users[fromId].list[index]);
$scope.users[fromId].list.splice(index, 1);}
真的很厉害
关于javascript - AngularJS 评估函数中的字符串以调用 json 列表上的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18512689/