2015-07-10 79 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来存储动态更新的值。 –