3 回答

TA貢獻1815條經(jīng)驗 獲得超6個贊
這個問題有兩個部分
1)使用不會更改網(wǎng)址的參數(shù)(使用params屬性):
$stateProvider
.state('login', {
params: [
'toStateName',
'toParamsJson'
],
templateUrl: 'partials/login/Login.html'
})
2)將對象作為參數(shù)傳遞:嗯,現(xiàn)在沒有直接的方法,因為每個參數(shù)都轉(zhuǎn)換為字符串(EDIT:從0.2.13開始,這不再成立-您可以直接使用對象),但是您可以通過自己創(chuàng)建字符串來解決它
toParamsJson = JSON.stringify(toStateParams);
然后在目標控制器中再次反序列化對象
originalParams = JSON.parse($stateParams.toParamsJson);

TA貢獻1841條經(jīng)驗 獲得超3個贊
實際上,您可以執(zhí)行此操作。
$state.go("state-name", {param-name: param-value}, {location: false, inherit: false});
這是有關state.go中選項的官方文檔
在那里描述了所有內(nèi)容,您可以看到這是完成的方法。
添加回答
舉報