您的位置:首页 > 编程语言 > Go语言

angular中$state.go页面跳转并传递参数

2017-05-08 20:59 281 查看
遇到一个页面跳转的时候,在跳转后的页面获取跳转前页面的数据,我想到用一种是localstorage,一种用broadcast和on,然后老大说不用这么麻烦,既然都$state.go了直接带参数,这次就介绍一下$state.go页面跳转传递参数。

1.路由页面(注意这里要在路由上添加一个参数用于传递数据,不然在页面跳转的时候会filter)

 .state("home.workpiece",{  // 跳转前的页面

      url:"/workpiece",

      views: {

        home: {

          templateUrl: prefix + "project/workpiece.html",

          controller: "workpieceCtrl"

        }

      }

    })

    .state("home.workpieceDetail",{   //跳转后的页面

      url:"/workpieceDetail?workpieceList",

      views: {

        home: {

          templateUrl: prefix + "project/workpiece_detail.html",

          controller: "workpieceDetailCtrl"

        }

      }

    })

    也可以将参数放在params中

    .state("home.workpieceDetail",{

      url:"/workpieceDetail",

      views: {

        home: {

          templateUrl: prefix + "project/workpiece_detail.html",

          controller: "workpieceDetailCtrl"

        }

      },

      params: {workpieceList:null}

    })

    

2.在workpieceCtrl中
angular.module("app").controller("workerpieceCtrl", ["$scope", "$state", function($scope, $state){

"use strict";

$state.go("home.workpieceDetail", {workpieceList : workpieceData});

}

]);    

3.workpieceDetailCtrl中

angular.module("app").controller("workerpieceCtrl", ["$scope", "$stateParams", function($scope, $stateParams){

"use strict";

$scope.workpieceList = JSON.parse($stateParams.workpieceList);

}

]);    

这样就可以将在页面跳转的时候传递数据了。

最后这个链接介绍了页面跳转传递参数的四种方式:http://www.cnblogs.com/Razor0/p/5200435.html

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: