$state.go页面传递参数

http://studygolang.com/articles/8153

方法1

A页面向PAGE1页面传递参数id

 .state('page1', {
                  url: '/page1',
                  templateUrl: 'tpl/page1.html',
                  params: {id:null}
              })

A页面的controller里
$state.go('page1',{id:myid});
PAGE1页面里获取参数

$scope.id= $stateParams.id;

别忘了依赖注入$stateParams

方法2

如果由列表页面跳到详情页面,传递的参数过多,也可使用这种办法进行传递,采用json字符串进行传递,到目标界面进行解析就可以了:

父页面(列表页面)的html:




父页面(列表页面)的controller:
$scope.listDetailsClick = function (listdata) {
        //将对象转化为字符串
        var listDataAll = angular.toJson(listdata);
        $state.go("listDetails", {id:listDataAll});
      };

子页面(详情页面)的controller:
//将字符串转化为对象
$scope.listData = angular.fromJson($stateParams.id);

路由配置:
.state('listDetails', {
          url: '/listDetails/:id',
          templateUrl: 'templates/list/listDetails/listDetails.html',
          controller: 'ListDetailsController'
        });

注意:在实际过程中,需要依赖注入$state、$stateParams等服务。


你可能感兴趣的:(AngularJs,ionic)