Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有嵌套JSON的主细节_Javascript_Json_Angularjs_Ionic - Fatal编程技术网

Javascript 带有嵌套JSON的主细节

Javascript 带有嵌套JSON的主细节,javascript,json,angularjs,ionic,Javascript,Json,Angularjs,Ionic,我想用一些嵌套的JSON创建一个主细节视图,但我没有主意。我知道我可能错过了一些简单的东西,但我向你们所有人寻求帮助 这是JSON的一个示例。大约有50个项目具有相同的数字和字母模式(例如1a、30d等) 我已成功地使用手风琴设置了母版页,该手风琴列出了列表中的所有项目,单击该列表时,会显示所有子项目,但我感到困惑的是,当我单击子菜单项并转到详细信息页面时,我只能查看存储在$state.params中的name参数。我希望详细信息页面也能够显示描述 以下是手风琴列表: <div ng-re

我想用一些嵌套的JSON创建一个主细节视图,但我没有主意。我知道我可能错过了一些简单的东西,但我向你们所有人寻求帮助

这是JSON的一个示例。大约有50个项目具有相同的数字和字母模式(例如1a、30d等)

我已成功地使用手风琴设置了母版页,该手风琴列出了列表中的所有项目,单击该列表时,会显示所有子项目,但我感到困惑的是,当我单击子菜单项并转到详细信息页面时,我只能查看存储在$state.params中的name参数。我希望详细信息页面也能够显示描述

以下是手风琴列表:

<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;

      });
    },

  }
});