Javascript 带有嵌套JSON的主细节
我想用一些嵌套的JSON创建一个主细节视图,但我没有主意。我知道我可能错过了一些简单的东西,但我向你们所有人寻求帮助 这是JSON的一个示例。大约有50个项目具有相同的数字和字母模式(例如1a、30d等) 我已成功地使用手风琴设置了母版页,该手风琴列出了列表中的所有项目,单击该列表时,会显示所有子项目,但我感到困惑的是,当我单击子菜单项并转到详细信息页面时,我只能查看存储在$state.params中的name参数。我希望详细信息页面也能够显示描述 以下是手风琴列表:Javascript 带有嵌套JSON的主细节,javascript,json,angularjs,ionic,Javascript,Json,Angularjs,Ionic,我想用一些嵌套的JSON创建一个主细节视图,但我没有主意。我知道我可能错过了一些简单的东西,但我向你们所有人寻求帮助 这是JSON的一个示例。大约有50个项目具有相同的数字和字母模式(例如1a、30d等) 我已成功地使用手风琴设置了母版页,该手风琴列出了列表中的所有项目,单击该列表时,会显示所有子项目,但我感到困惑的是,当我单击子菜单项并转到详细信息页面时,我只能查看存储在$state.params中的name参数。我希望详细信息页面也能够显示描述 以下是手风琴列表: <div ng-re
<div ng-repeat="item in items">
<ion-item class="item-stable"
ng-click="toggleGroup(item)"
ng-class="{active: isGroupShown(item)}">
<i class="icon" ng-class="isGroupShown(item) ? 'ion-minus' : 'ion-plus'"></i>
{{item.name}}
</ion-item>
<ion-item class="item-accordion"
ng-repeat="item_type in item.subcategories"
ng-show="isGroupShown(item)"
ng-click="onSelectItems(item_type)">
{{item_type.name}}
</ion-item>
</div>
以下是itemListingsCtrl控制器中的相关函数:
$scope.onSelectItems = function(item_type) {
var params = {
name: item_type.name,
};
$state.go('tab.itemDetail', params);
console.log($state.params);
};
});
以下是itemListingDetailCtrl的控制器:
.controller("itemListingDetailCtrl", function ($scope, itemService, $stateParams, $state)
{
console.log($state.params);
$scope.name = $state.params.name;
})
最后,这是service.js中提取JSON的相关部分
.factory('itemService', function($http,$location) {
var items = [];
return {
getitems: function(){
return $http.get(/path/to/JSON).then(function(resp){
items = resp.data.items;
return items;
});
},
}
});
有人能帮忙吗?提前感谢。将整个对象作为
params
传递是否有可接受的方法来执行此操作?与传递正在创建的对象没有什么不同。删除该对象,然后$state.go('tab.itemdail',item_type)
,这样就不会将整个JSON保存为状态中的对象了?仅是item_type下的详细信息?对象只是一个引用。不太清楚你在问什么
.controller("itemListingDetailCtrl", function ($scope, itemService, $stateParams, $state)
{
console.log($state.params);
$scope.name = $state.params.name;
})
.factory('itemService', function($http,$location) {
var items = [];
return {
getitems: function(){
return $http.get(/path/to/JSON).then(function(resp){
items = resp.data.items;
return items;
});
},
}
});