ReferenceError:$ state未定义

时间:2016-01-26 19:29:33

标签: javascript ruby-on-rails angularjs

我有一个使用AngularJS的rails应用程序,我有一个问题,问题是我希望在提交表单后重定向到某个state,但在chrome的控制台中我有一个ReferenceError: $state is not defined并没有任何反应。

state error

这是我的控制器。

angular.module('myapp')

.controller('CreatePollCtrl', ['$scope', 'Restangular', '$state',
function($scope, Restangular) {

  $scope.addPoll = function() {
    if ($scope.allow_anonymous_answer == null)
      $scope.allow_anonymous_answer = false

    var poll = {title: $scope.title, description: $scope.description, allow_anonymous_answer: $scope.allow_anonymous_answer, initial_message: $scope.initial_message, final_message: $scope.final_message};
    Restangular.all('polls').post(poll).then(function(response) {
      $state.go('dashboard');
    });
  };
}]);

我能做什么?,$state是否正确注入?

2 个答案:

答案 0 :(得分:9)

您忘了将$state添加到function()

angular.module('myapp')

.controller('CreatePollCtrl', ['$scope', 'Restangular', '$state',
function($scope, Restangular, $state) {

答案 1 :(得分:3)

$state作为参数添加到您的函数中,例如$scope.addPoll = function($state) {...}