我目前正在使用 json 文件对 $http.get() 调用进行 stub 处理。我想将 json 文件的子集返回到 Angular Controller 。我看过其他帖子,他们建议在 Get 调用中设置 params 属性,但它对我不起作用。
这是我的 Controller :
angular.module('agileApp')
.controller('projectController', ['$scope', '$filter', '$http','$routeParams', function($scope, $filter, $http, $routeParams){
$http.get('json/testData.json').success(function(data){
//console.log(data);
$scope.projectData = $filter('filter')(data.projectDetail, {Id:1})[0];
console.log($scope.projectData);
});
}]);
这是我的 json 文件:
{ 'projectDetail': [{
'Id': 1,
'projectName': 'Project1',
'projectStatus': 'In Progress',
'teamMembers': ['User1,'User2', 'User3'],
'userStories': [
{'userStoryId': 0,
'Description': 'As a user blah blah blah 1',
'storyPoints': 10
},
{'userStoryId': 1,
'Description': 'As a user blah blah blah 2',
'storyPoints': 10
},
{'userStoryId': 2,
'Description': 'As a user blah blah blah 3',
'storyPoints': 10
},
{'userStoryId': 3,
'Description': 'As a user blah blah blah 4',
'storyPoints': 10
},
{'userStoryId': 4,
'Description': 'As a user blah blah blah 5',
'storyPoints': 10
},
{'userStoryId': 5,
'Description': 'As a user blah blah blah 6',
'storyPoints': 10
},
]
},
项目详细信息数组中还有其他对象,但我只想拉回 Id = RouteID 的对象,该对象作为参数传递到 Controller 中。
任何帮助将不胜感激。
谢谢!
最佳答案
您的 json 无效,因此 $http.get 为您提供字符串而不是对象
存在一些语法错误,而且 Angular 需要正确的引号(与 js 的共同之处不同)。
这是我的简化 json。我想你可以很容易地弄清楚如何采用你的。 (这是“而不是')
{
"projectDetail": [
{
"Id": 1,
"projectName": "Test1"
}
]
}
关于javascript - AngularJS 在 $http.get() 中传递参数以获取 json 文件的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26328274/