Javascript 尝试使用动态变量创建角度foreach
我正在尝试创建一个附加id的变量列表。我将以下代码用于foreach循环Javascript 尝试使用动态变量创建角度foreach,javascript,angularjs,Javascript,Angularjs,我正在尝试创建一个附加id的变量列表。我将以下代码用于foreach循环 angular.forEach(str, function(value, key) { console.log(key + ': ' + value.id); //we found project id //now attach it to dynamic variable $http.get("http://abounde.com/portal/api/tas
angular.forEach(str, function(value, key) {
console.log(key + ': ' + value.id);
//we found project id
//now attach it to dynamic variable
$http.get("http://abounde.com/portal/api/tasks/"+value.id).then(function(response) {
//create dynamic variable
if (key != null) {
$parse("project_"+value.id).assign($scope, value);
}
$scope.value = response.data.taskLists;
});
});
我想要项目1,项目2,项目3。。。。传递到范围
我做错了什么
编辑:
在看了一些建议后,我试着做了一些事情
app.controller('portalController',function($scope, $http, $rootScope){
$scope.$on('$viewContentLoaded', function() {
$rootScope.backgroundImg="url(" + images[2].imgObj.src + ")"; //abt bg
$http.get("http://abounde.com/portal/api/projects").then(function(response) {
$scope.myData = response.data.projects;
var x=0;
var str = response.data.projects;
angular.forEach(str, function(value, key) {
console.log(key + ': ' + value.id);
//we found project id
//now attach it to dynamic variable
$scope.projects = [];
$http.get("http://abounde.com/portal/api/tasks/"+value.id).then(function(response) {
//create dynamic variable
$scope.projects.push(value.id) = response.data.tasklists;
});
//console.log($scope.projects);
});
});
});
//make a function which takes project id as parameter and returns tasks list
$scope.getTasksList = function(projectId)
{
$http.get("http://abounde.com/portal/api/tasks/"+projectId).then(function(response) {
$scope.myTasks = response.data.tasklists;
});
}
});
跟随误差
如何访问视图中的动态变量?我想我需要使用类似。。
在angular中访问动态变量的实际方式是什么?无需使用
$parse
将其更改为$scope,并使用适当的对象maniuplation
$scope['project'+v]value.id]=值代码>
或者,您可以使用动态值数组中的数据
$scope.projects = [];
// inside your response
$scope.projects.push({
_id : 'project_'+value.id,
value : value
});
HTML:
id:{{project.\u id}
值:{{project.value}}
无需使用$parse
将其更改为$scope,并使用适当的对象maniuplation
$scope['project'+v]value.id]=值代码>
或者,您可以使用动态值数组中的数据
$scope.projects = [];
// inside your response
$scope.projects.push({
_id : 'project_'+value.id,
value : value
});
HTML:
id:{{project.\u id}
值:{{project.value}}
您可以执行$scope['project\uu'+value.id]=value代码>我建议只使用数组($scope.projects=[]
和$scope.projects.push(value)
)或对象($scope.projects={}
和$scope.projects[value.id]=value
)@Phil你能看看我的编辑吗。我试图听从你的建议,但我可能没有完全理解你。失败。@nurulamanik只需再次阅读我的评论并将其与您的代码进行比较即可$scope['project\uu'+value.id]=value代码>我建议只使用数组($scope.projects=[]
和$scope.projects.push(value)
)或对象($scope.projects={}
和$scope.projects[value.id]=value
)@Phil你能看看我的编辑吗。我试图听从你的建议,但我可能没有完全理解你。失败。@Nurulamanik只是再次阅读我的评论,并将其与您的代码进行比较