2016-03-16 2 views
1

Я пытаюсь перенаправить на другой маршрут, когда я отправить форму с помощью angularjs и я получаю сообщение об ошибке:Перенаправление в angularjs, используя виртуальную машину

Не удается прочитать свойство «идти» на неопределенный объект

Ниже мой код формы

<div class="col-sm-4 col-sm-push-4 margin-top-30"> 
<form ng-controller="LogonController" data-ng-submit="vm.setDjName()" name="logonForm" novalidate> 
<div class="form-group"> 
<input type="text" name="dj-name" data-ng-model="vm.djName" placeholder="Your DJ Name" class="form-control"> 
</div> 
<button class="btn btn-primary btn-block" data-ng-click="vm.setDjName()" type="button">Login</button> 
</form> 
</div> 

и вот мой контроллер

(function() { 
'use strict'; 
angular 
.module('app.controllers') 
.controller('LogonController', LogonController); 

LogonController.$inject = []; 

function LogonController ($state) { 
var vm = this; 
vm.setDjName = function() { 
$state.go('/video'); 
} 
} 

})(); 

Как бы я реструктурировал код, чтобы сделать работу перенаправления?

+0

$ состоянии услуга от УИ-маршрутизатора, но он не появляется, как если бы вы вводили ui-router в вашем модуле – jbrown

ответ

3

Я думаю, вы должны вводить $state услуги:

LogonController.$inject = ['$state']; 

// or 

angular 
    .module('app.controllers') 
    .controller('LogonController', ['$state', LogonController]); 

Взгляните на angular dependency injection documentation

+0

Ты просто лучший. Спасибо. – jaahvicky

Смежные вопросы