AngularJS计算函数中的字符串,以调用json列表上的属性
AngularJS evaluate a string in a function to call property on json list
我希望我能给它一个更具描述性的标题,但我真的不知道我要做什么的名字
$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"answers"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);}
它真的是工作
如果我理解正确:
$scope.moveUser = function(fromId, toId, index) {
if (users.hasOwnProperty(fromId) && users.hasOwnProperty(toId)) {
scope.users.toId.list.push(scope.users.fromId.list[index]);
scope.users.fromId.list.splice(index, 1);
return true;
} else {
return false;
}
};
相关文章:
- Twitter API JSON调用未获得最新的3条推文
- 向通过ReST JSON调用生成的Angular Javascript对象添加方法
- Ajax注释将json调用到函数中
- 返回List<字符串>Jquery中的from JSON调用具有未定义的长度
- Web API在JSON调用上返回XML
- 如何不获取json调用的所有数据
- JSON调用返回'未定义'
- JSON响应中的JSON调用
- 从JSON调用SQL返回数组时出现问题
- 同步函数调用涉及post-json调用,其中一个函数应该在另一个函数成功后成功
- watch()函数无法在json调用上使用angular.js
- 简单的jQuery AJAX JSON调用
- 全局 JS 文件:仅执行一次 JSON 调用
- JSON 调用不会在 IE 10 中更新
- 对 asmx Web 服务的 Ajax/json 调用成功完成,但无法显示结果数据
- 在 json 调用后重定向
- 等待 json 调用在 javascript 中完成
- 无法访问 json-p 调用中的数据
- 从$http.get JSON调用中删除关键字
- 为什么我们在从ajax json调用获取响应时使用data.d