Javascript AngularJS多维JSON
我知道这有点基本,但我正在努力解决这个问题,我有一个返回以下JSON的web服务:Javascript AngularJS多维JSON,javascript,json,angularjs,Javascript,Json,Angularjs,我知道这有点基本,但我正在努力解决这个问题,我有一个返回以下JSON的web服务: [{"search_id":"1","user_id":"1","all_words":"php","not_words":"C++","one_words":"java","created_at":null,"updated_at":null,"search_name":null},{"search_id":"2","user_id":"1","all_words":"second","not_words":"
[{"search_id":"1","user_id":"1","all_words":"php","not_words":"C++","one_words":"java","created_at":null,"updated_at":null,"search_name":null},{"search_id":"2","user_id":"1","all_words":"second","not_words":"not","one_words":"one","created_at":null,"updated_at":null,"search_name":null}]
因此,当它到达角度时,我会得出以下结论:
Array[2]
0: Object
$$hashKey: "object:5"
all_words: "php"
created_at: null
not_words: "C++"
one_words: "java"
search_id: "1"
search_name: null
updated_at: null
user_id: "1"
__proto__:
1: Object
$$hashKey: "object:6"
all_words: "second"
created_at: null
not_words: "not"
one_words: "one"
search_id: "2"
search_name: null
updated_at: null
user_id: "1"
__proto__:
这是一个真正的痛苦与工作在ng重复,我将如何着手才能访问它这样(粗略的例子)
明确地说,我从中获取数据的唯一方法是:
<tr ng-repeat="items in data">
<td ng-repeat="(key, value) in items"> </td>
</tr>
getsearches如下所示,searchList返回searches变量:
getSearches: function() {
var deferred = $q.defer();
$http({
url: 'http://localhost/api/api/tray/search/list'
}).success(function (data) {
searches = data;
console.log(data);
deferred.resolve(data);
}).error(function (data) {
alert('Error');
deferred.reject(data);
});
return deferred.promise;
},
人力资源管理感谢各位的回复,但简单的“数据中的项目”在我的情况下不起作用,我必须在嵌套的ng重复中的项目中使用(键、值),有什么想法吗
顺便说一句,我不确定这是否重要,把HTML放在一个部分中,我使用ui路由器进行导航
更新
非常感谢大家的帮助,看起来这个问题是由包含HTML元素的输入错误引起的,控制器没有正确设置,因为我把ui路由器设置搞砸了。一旦我有机会确保我没有错过任何其他东西,我就会发回。这似乎很有效。只需确保您的数据与$scope绑定即可。
函数MyCtrl($scope){
$scope.data=[{
“搜索id”:“1”,
“用户id”:“1”,
“所有单词”:“php”,
“非单词”:“C++”,
“一个字”:“java”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}, {
“搜索id”:“2”,
“用户id”:“1”,
“所有单词”:“第二个”,
“不”字:“不”,
“一个字”:“一个”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}]
}
这是数据:{item.one_words}
这似乎工作正常。只需确保您的数据与$scope绑定即可。
函数MyCtrl($scope){
$scope.data=[{
“搜索id”:“1”,
“用户id”:“1”,
“所有单词”:“php”,
“非单词”:“C++”,
“一个字”:“java”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}, {
“搜索id”:“2”,
“用户id”:“1”,
“所有单词”:“第二个”,
“不”字:“不”,
“一个字”:“一个”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}]
}
这是数据:{item.one_words}
这似乎工作正常。只需确保您的数据与$scope绑定即可。
函数MyCtrl($scope){
$scope.data=[{
“搜索id”:“1”,
“用户id”:“1”,
“所有单词”:“php”,
“非单词”:“C++”,
“一个字”:“java”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}, {
“搜索id”:“2”,
“用户id”:“1”,
“所有单词”:“第二个”,
“不”字:“不”,
“一个字”:“一个”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}]
}
这是数据:{item.one_words}
这似乎工作正常。只需确保您的数据与$scope绑定即可。
函数MyCtrl($scope){
$scope.data=[{
“搜索id”:“1”,
“用户id”:“1”,
“所有单词”:“php”,
“非单词”:“C++”,
“一个字”:“java”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}, {
“搜索id”:“2”,
“用户id”:“1”,
“所有单词”:“第二个”,
“不”字:“不”,
“一个字”:“一个”,
“created_at”:空,
“更新位置”:空,
“搜索名称”:空
}]
}
这是数据:{item.one_words}
对我来说很好:
对我来说很好:
对我来说很好:
对我来说很好:
也许我理解错了,但这应该是有效的。该示例包括控制器As和$scope方法 控制器
angular
.module("app", [])
.controller("MainController", ['$scope', function($scope) {
var vm = this;
var json = '[{"search_id":"1","user_id":"1","all_words":"php","not_words":"C++","one_words":"java","created_at":null,"updated_at":null,"search_name":null},{"search_id":"2","user_id":"1","all_words":"second","not_words":"not","one_words":"one","created_at":null,"updated_at":null,"search_name":null}]';
vm.items = JSON.parse(json);
$scope.items = JSON.parse(json);
}]);
html
<!DOCTYPE html>
<html ng-app="app">
<head>
<link rel="stylesheet" href="style.css" />
</head>
<body ng-controller="MainController as vm">
<h1>Items Controller As</h1>
<div ng-repeat="item in vm.items">
{{ item.search_id }}
</div>
<h1>Items $scope</h1>
<div ng-repeat="item in items">
{{ item.search_id }}
</div>
<script data-require="angular.js@1.3.6" data-semver="1.3.6" src="https://code.angularjs.org/1.3.6/angular.js"></script>
<script src="script.js"></script>
</body>
</html>
项目控制器组件
{{item.search_id}
项目$scope
{{item.search_id}
编辑:
从上面添加了我的评论。
为什么要使用两个嵌套的ng重复?我猜数组的一个对象应该是表中的一行。所以
<tr ng-repeat="item in data">
...
<td>{{item.search_name}}</td>
...
</tr>
...
{{item.search_name}
...
应该有用。除非您需要对象的键,否则比您需要的(键,值)要多。也许我理解错了,但这实际上应该是可行的。该示例包括控制器As和$scope方法 控制器
angular
.module("app", [])
.controller("MainController", ['$scope', function($scope) {
var vm = this;
var json = '[{"search_id":"1","user_id":"1","all_words":"php","not_words":"C++","one_words":"java","created_at":null,"updated_at":null,"search_name":null},{"search_id":"2","user_id":"1","all_words":"second","not_words":"not","one_words":"one","created_at":null,"updated_at":null,"search_name":null}]';
vm.items = JSON.parse(json);
$scope.items = JSON.parse(json);
}]);
html
<!DOCTYPE html>
<html ng-app="app">
<head>
<link rel="stylesheet" href="style.css" />
</head>
<body ng-controller="MainController as vm">
<h1>Items Controller As</h1>
<div ng-repeat="item in vm.items">
{{ item.search_id }}
</div>
<h1>Items $scope</h1>
<div ng-repeat="item in items">
{{ item.search_id }}
</div>
<script data-require="angular.js@1.3.6" data-semver="1.3.6" src="https://code.angularjs.org/1.3.6/angular.js"></script>
<script src="script.js"></script>
</body>
</html>
项目控制器组件
{{item.search_id}
项目$scope
{{item.search_id}
编辑:
从上面添加了我的评论。
为什么要使用两个嵌套的ng重复?我猜数组的一个对象应该是表中的一行。所以
<tr ng-repeat="item in data">
...
<td>{{item.search_name}}</td>
...
</tr>
...
{{item.search_name}
...
应该有用。除非您需要对象的键,否则比您需要的(键,值)要多。也许我理解错了,但这实际上应该是可行的。该示例包括控制器As和$scope方法 控制器
angular
.module("app", [])
.controller("MainController", ['$scope', function($scope) {
var vm = this;
var json = '[{"search_id":"1","user_id":"1","all_words":"php","not_words":"C++","one_words":"java","created_at":null,"updated_at":null,"search_name":null},{"search_id":"2","user_id":"1","all_words":"second","not_words":"not","one_words":"one","created_at":null,"updated_at":null,"search_name":null}]';
vm.items = JSON.parse(json);
$scope.items = JSON.parse(json);
}]);
html
<!DOCTYPE html>
<html ng-app="app">
<head>
<link rel="stylesheet" href="style.css" />
</head>
<body ng-controller="MainController as vm">
<h1>Items Controller As</h1>
<div ng-repeat="item in vm.items">
{{ item.search_id }}
</div>
<h1>Items $scope</h1>
<div ng-repeat="item in items">
{{ item.search_id }}
</div>
<script data-require="angular.js@1.3.6" data-semver="1.3.6" src="https://code.angularjs.org/1.3.6/angular.js"></script>
<script src="script.js"></script>
</body>
</html>
项目控制器组件
{{item.search_id}
项目$scope
{{item.search_id}
编辑:
从上面添加了我的评论。
为什么要使用两个嵌套的ng重复?我猜数组的一个对象应该是表中的一行。所以
<tr ng-repeat="item in data">
...
<td>{{item.search_name}}</td>
...
</tr>
...
{{item.search_name}
...
应该有用。除非您需要对象的键,否则