2014-02-12 47 views
3

使用Angular,Ionic,& UI-Router,我试图改变状态并将数据传递给State Params。有了Angular建在Ng-Route上,这很简单,但只是以这种方式创建一个链接。Ui路由器与模型数据

<a href="state2/{{detail.id}}">Brings me to state 2 with detail about this item</a> 

但是,当Ionic切换到UI-Router时,这往往会破坏已创建的转换。我见过的演示,其中在人们的控制器中,有一个设置的状态变化的点击处理程序:

 $scope.switchState = function(){ 
     $state.go('abstract.main'); 

     <a ng-click="switchState">Change States</a> 

这工作如果嵌套状态只是一个静态视图。但是我想知道的是如何正确地改变状态并传递参数来获取数据。有任何想法吗?

回答

5

例如,对于这种状态:

.state('test', { 
    url: '/test/:id', 
    templateUrl: 'insertpathhere.html' 
}) 

在你的控制器,你可以浏览这样的:

$state.go('test', { id: 420 }); 

或者你也可以有这样的事情在你的HTML:

<a ui-sref="test({id:detail.id})">Click me</a> 
+0

我已经更新了html href以使其更清晰 – TestersGonnaTest

+0

我尝试了ui-sref和控制器中的状态更改,但是由于某种原因,该ID不会传递。 所以现在它读取 State 2 mhartington

+0

也许你可以发表小提琴或其他东西相同。 您可以通过https://github.com/angular-ui/ui-router/wiki/Quick-Reference#wiki-ui-sref – TestersGonnaTest