Javascript AngularJS访问ng repeat中的JSON文件
在Angular中是否可能出现这种情况,我已经尝试过搜索,但我不知道要搜索的确切术语,所以首先,我道歉 我正在使用Angular成功访问JSON文件 我的JSON文件包含150多个事件的列表,每个事件都有一些基本信息,如图像、标题、价格、事件是否售罄等 每个事件还包含一个指向该事件的JSON文件的URL。 该文件包含关于单个事件的更深入的信息,如位置、难度、轮椅可及性等 如何循环第一个JSON,但仍然提取“嵌入式”的信息?JSON文件,以便在一个页面上显示所有信息 我一直在努力理解如何在ng repeat中“调用”第二个JSON文件信息 作为一名英语初学者,我努力寻找正确的术语来帮助自己 谢谢 编辑----- 我在这里创造了一个plunkr,这是我努力实现的一部分Javascript AngularJS访问ng repeat中的JSON文件,javascript,json,angularjs,Javascript,Json,Angularjs,在Angular中是否可能出现这种情况,我已经尝试过搜索,但我不知道要搜索的确切术语,所以首先,我道歉 我正在使用Angular成功访问JSON文件 我的JSON文件包含150多个事件的列表,每个事件都有一些基本信息,如图像、标题、价格、事件是否售罄等 每个事件还包含一个指向该事件的JSON文件的URL。 该文件包含关于单个事件的更深入的信息,如位置、难度、轮椅可及性等 如何循环第一个JSON,但仍然提取“嵌入式”的信息?JSON文件,以便在一个页面上显示所有信息 我一直在努力理解如何在ng r
#事件列表span{display:block;}
#事件列表li{clear:both;}
#事件列表ul{list style:none;}
#事件列表img{float:left;}
var-app=angular.module(“exampleApp”,[]);
app.controller(“eventCtrl”,函数($scope、$http、$location){
var事件列表=”http://ajax.wiggle.co.uk/api/list/events/?ris=1";
$scope.host=$location.host;
$scope.wiggleEvents=[];
$http({
方法:“JSONP”,
url:eventList+“&callback=JSON\u callback”
}).success(函数(数据、状态、标题、配置){
$scope.wiggleEvents=data.Results.Products;
//数据包含响应
//status是HTTP状态
//headers是header getter函数
//config是用于创建HTTP请求的对象
}).error(函数(数据、状态、标题、配置){
});
});
-
标题:{p.Title}
PID:{p.PID}
APIRL:{p.apirl}}
我可以成功地从主JSON文件获取信息,并在页面中显示24个事件
主JSON文件如下所示:
JSON中的每个“产品”都有自己的APIRL,指向自己的JSON文件,该文件包含关于该产品的更多信息
我试图在html中同时输出来自主JSON的一些信息和来自每个IDividualJSON的一些信息
我真的被困在如何访问这些单独的JSON文件中,特别是第一个主文件中可能包含不同数量的“产品”。今天正好是24,但明天可能是36等等
谢谢假设您拥有以下json对象:
myJsonObj= {
user: {
firstname : "jane",
lastname : "doe"
},
friend: {
firstname: "hancock",
lastname : "john"
}
}
要使用ng repeat迭代对象(您的json对象)的属性,必须使用(键、值)如下:
//显示“用户”,然后显示“朋友”
//显示“jane”
//显示能源部
在此处阅读有关迭代对象属性的详细信息:
编辑:
您还可以通过向作用域函数传递一些数据来完成更多工作。像
<div ng-repeat="(key,value) in myJsonObj">
// assuming retrieveUrl() is a scope function you wrote
// in order to extract and return the url from the data you passed
// as parameter
<span ng-bind="retrieveUrl(value.url)"></span>
</div>
//假设retrieveUrl()是您编写的作用域函数
//以便从传递的数据中提取并返回url
//作为参数
假设您有以下json对象:
myJsonObj= {
user: {
firstname : "jane",
lastname : "doe"
},
friend: {
firstname: "hancock",
lastname : "john"
}
}
要使用ng repeat迭代对象(您的json对象)的属性,必须使用(键、值)如下:
//显示“用户”,然后显示“朋友”
//显示“jane”
//显示能源部
在此处阅读有关迭代对象属性的详细信息:
编辑:
您还可以通过向作用域函数传递一些数据来完成更多工作。像
<div ng-repeat="(key,value) in myJsonObj">
// assuming retrieveUrl() is a scope function you wrote
// in order to extract and return the url from the data you passed
// as parameter
<span ng-bind="retrieveUrl(value.url)"></span>
</div>
//假设retrieveUrl()是您编写的作用域函数
//以便从传递的数据中提取并返回url
//作为参数
从嵌套在ng repeat中的数据中的url获取json数据的最佳方法是编写一个运行$http GET的指令。大概是这样的:
html
js:
app.directive('getUrlData',function(){
返回{
限制:'E',
模板:“{vm.jsonData}}”,
范围:{
url:“=?”
},
controllerAs:'vm',
bindToController:对,
控制器:函数($http){
vm=这个;
$http.get(vm.url).then(函数(响应){
vm.jsonData=响应;
});
}
};
});
从嵌套在ng repeat中的数据中的url获取json数据的最佳方法是编写一个运行$http GET的指令。大概是这样的:
html
js:
app.directive('getUrlData',function(){
返回{
限制:'E',
模板:“{vm.jsonData}}”,
范围:{
url:“=?”
},
controllerAs:'vm',
bindToController:对,
控制器:函数($http){
vm=这个;
$http.get(vm.url).then(函数(响应){
vm.jsonData=响应;
});
}
};
});
我设法找到了这个问题的答案。
我在这篇文章中选择了答案:
这是以我理解的方式写的,当我遵循它时,它对我起了作用 我设法找到了这个问题的答案。 我在这篇文章中选择了答案:
这是以我理解的方式写的,当我遵循它时,它对我起了作用 是否可以在gist或pastebin中显示JSON示例,以便更容易为您提供帮助。
<div ng-repeat="thing in things track by $index">
<get-url-data url="thing"></get-url-data>
</div>
app.directive('getUrlData', function() {
return {
restrict: 'E',
template: '<div>{{vm.jsonData}}</div>',
scope: {
url: '=?'
},
controllerAs: 'vm',
bindToController: true,
controller: function($http) {
vm = this;
$http.get(vm.url).then(function(response) {
vm.jsonData = response;
});
}
};
});