簡體   English   中英

通過州參數過渡到不同的州

[英]Transition to different state with state params

嗨,我是角度路由的新手,想知道如何通過控制器轉換到不同的狀態。

我知道我必須注入我所做的$ state服務,但我不清楚如何使用服務的轉換方法。

這是我在我的控制器代碼中嘗試轉換但它無法正常工作:((我試過$ stateService.go(...)但是沒有成功)

$stateService.transitionTo("teststate({ path: 'Test.TestState' })");

這是我的州定義

    $stateProvider
        .state("teststate",
        {
            url: '/:path',
            templateUrl: (stateParams) => {
                return '/Templates?path=' + stateParams.path;
            },
        })

任何幫助,將不勝感激!

謝謝

你是說這個嗎?

$state.go("teststate", { path: 'Test.TestState' });  

文檔

它可以通過兩種方式完成:

1 - 使用$ state

app.controller("fruitsCtrl", function ($scope, $state) {
    //goto vegetables page with params
    $state.go('vegetables', {name:"carrot"});
    // or other possibility
    $state.transitionTo('vegetables', {name:"carrot"});
});

2 - 使用ui-sref

<nav>
    <ul>
        <li><a ui-sref="fruits({name: 'mango'})">Fruits</a></li>
        <li><a ui-sref="vegetables({name: 'potato'})">Vegetables</a></li>     
    </ul>
</nav> 

提供的路線:

$stateProvider
                .state('fruits', {
                    url:"/fruits/:name",
                    templateUrl: "views/fruits.html",
                    controller: "fruitsCtrl"
                })
                .state('vegetables', {
                    url:"/vegetables/:name",
                    templateUrl: "views/vegetables.html",
                    controller: "vegetablesCtrl"
                });

快樂幫助!

它就像下面一樣。

$stateProvider.state('contacts', {
   url: '/:path',
   templateUrl: function ($stateParams){
     return '/Templates?path=' + $stateParams.path;
   }
 })

轉換到新狀態的便捷方法, $state.go ,內部調用$state.transitionTo 我更喜歡使用$state.go而不是$scope.transitionTo

$state.go("teststate",{ path: 'Test.TestState' });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM