2015-07-10 76 views
0

我有一個網址,格式如下所示:傳遞參數到角location.search

www.mydomain.co.uk/ui/#/index?status=111?cart=5555 

我明白,如果我做的:

var status = $location.search().status; 
var cart = $location.search().cart; 

我能得到的狀態和車的價值,但我想.search()一個參數,我通過在後,例如,使值:

function getParameters(param) { 

    return $location.search() + param; 

} 


$scope.status = getParamter(status); 
$scope.cart = getParamter(cart); 

然而,當我TR y編譯我的JavaScript,該過程在我的函數return語句失敗。

+0

爲什麼不只是使用'$ routeParams.status'和'$ routeParams.cart'? '$ location.search()'不是最優的,恕我直言。 https://docs.angularjs.org/api/ngRoute/service/$routeParams#!/ – Claies

+0

@Claies - 即時通訊使用ui路由器,有沒有相當於ui路由器? –

+0

'ui-router'有'$ stateParams' – Claies

回答

0

路由器

.state('myState', { 
    'url': 'app/:cart/', 
    ... 
}) 

HTML

<a ui-sref="myState({ cart: 555})" ..> 

或具有可變

<a ui-sref="myState({ cart: cartNumber})" ..> 

$scope.cartNumber = 555 

控制器

function myController($scope, $stateParams) { 
    $scope.cart = $stateParams.cart; //555 
    ... 
+0

url中的值是動態的並隨時隨地改變,如貨幣。在頁面加載時,我想獲取當前值,而不是將其設置爲555 –

+0

好的,我錯過了什麼嗎?你在你的JS中有一個值,你想把它放到URL中,然後你可以從URL中將它獲取到JS中?似乎你努力在某個地方傳遞值,並走上錯誤的街道,嘗試使用URL來存儲動態更新的值。 –