搜尋

首頁  >  問答  >  主體

angular.js - angularjs url 傳一個對象

以前傳參數都是多個的key:value的形式。現在的需求是將整個物件傳過去,像下面這樣

然後我的寫法是

                 /*前往订单详情页面*/
                $scope.goOrderDetails=function(){
                //counArr就是图片里的对象
                    $state.go('ticket.pay',{countArr:countArr})
                } 
                

在接收頁

var countArr=$stateParams.countArr;
                console.log(countArr);
                console.log(countArr.length);

結果不對了,console.log(countArr)的結果是[object object],
url也變成了127.0.0.1:9002/ticket/pay/%5Bobject%20Object%5D
我想知道是哪裡的問題,之前沒遇過傳一個對象的需求

给我你的怀抱给我你的怀抱2796 天前803

全部回覆(3)我來回復

  • 高洛峰

    高洛峰2017-05-15 17:08:33

    要這樣傳的話,得

    $state.go('ticket.pay',{countArr: JSON.stringify(countArr)})

    取的時候

    var countArr = JSON.parse($stateParams.countArr)

    直接傳對象的話,建議用瀏覽器存儲來傳,參考這個

    回覆
    0
  • 阿神

    阿神2017-05-15 17:08:33

    是不是要先轉成json呢,

    回覆
    0
  • 天蓬老师

    天蓬老师2017-05-15 17:08:33

    路由中設定 params
    . state('urlname',{

    url:'urlname',
    templateUrl:...,
    controller:...,
    params:{testObj:""}

    })

    這樣頁面中取出來的的testObj還是物件的,直接用你需要的屬性就好了

    補充. . .這個params裡當然也可以是testObj:{}

    回覆
    0
  • 取消回覆