我有一个使用AngularJS的rails应用程序,我有一个问题,问题是我希望在提交表单后重定向到某个state
,但在chrome的控制台中我有一个ReferenceError: $state is not defined
并没有任何反应。
这是我的控制器。
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
是否正确注入?
答案 0 :(得分:9)
您忘了将$state
添加到function()
angular.module('myapp')
.controller('CreatePollCtrl', ['$scope', 'Restangular', '$state',
function($scope, Restangular, $state) {
答案 1 :(得分:3)
将$state
作为参数添加到您的函数中,例如$scope.addPoll = function($state) {...}