2015-03-17 5 views
4

Привет Я новичок в угловой маршрутизации и задавался вопросом, как я могу перейти на разные состояния через контроллеры.Переход в другое состояние с государственными параметрами

Я знаю, что я должен ввести государственную службу $, которую я сделал, но я не понимаю, как использовать метод перехода для службы.

Это то, что я в моем коде контроллера, чтобы попытаться перехода, но это не не работает :((я пытался $ stateService.go (...), а также, но не успех)

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

Вот мое определение состояния

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

Любая помощь будет оценена!

Благодаря

ответ

6

ли вы имеете в виду это?

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

Documentation

+0

Работал как очарование !! Благодаря – James

2

Это будет просто как внизу.

$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' }); 
3

Это можно сделать двумя способами, такими как:

1 - Использование $ состояния

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 - С помощью кнопок-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" 
       }); 

Счастливая помощь!