亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用UI路由器將對象傳遞到狀態?

如何使用UI路由器將對象傳遞到狀態?

呼喚遠方 2019-10-08 14:42:09
我希望能夠使用ui-router轉換為狀態并傳遞任意對象。我知道通常$stateParams會使用該值,但是我相信此值會插入URL中,并且我不希望用戶能夠為該數據添加書簽。我想做這樣的事情。$state.transitionTo('newState', {myObj: {foo: 'bar'}});function myCtrl($stateParams) {   console.log($stateParams.myObj); // -> {foo: 'bar'}};有沒有辦法在不將值編碼到URL的情況下執行此操作?
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

這個問題有兩個部分


1)使用不會更改網址的參數(使用params屬性):


$stateProvider

    .state('login', {

        params: [

            'toStateName',

            'toParamsJson'

        ],

        templateUrl: 'partials/login/Login.html'

    })

2)將對象作為參數傳遞:嗯,現在沒有直接的方法,因為每個參數都轉換為字符串(EDIT:從0.2.13開始,這不再成立-您可以直接使用對象),但是您可以通過自己創建字符串來解決它


toParamsJson = JSON.stringify(toStateParams);

然后在目標控制器中再次反序列化對象


originalParams = JSON.parse($stateParams.toParamsJson);


查看完整回答
反對 回復 2019-10-08
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

實際上,您可以執行此操作。


$state.go("state-name", {param-name: param-value}, {location: false, inherit: false});

這是有關state.go中選項的官方文檔


在那里描述了所有內容,您可以看到這是完成的方法。


查看完整回答
反對 回復 2019-10-08
  • 3 回答
  • 0 關注
  • 598 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號