Angularjs $state.go无法从单独的控制器工作

Angularjs $state.go无法从单独的控制器工作,angularjs,angular-ui-router,Angularjs,Angular Ui Router,这是我的密码 $stateProvider .state('home', { url: "/home", templateUrl: "views/home.tpl.html", controller:"homeController" }) .state('test', { url: '/test', templateUrl: "views/test/dashboard.tpl.html", }); index.html页面中的模式视图为 <div class="modal-body"

这是我的密码

$stateProvider
.state('home', {
url: "/home",
templateUrl: "views/home.tpl.html",
controller:"homeController"
})
.state('test', {
url: '/test',
templateUrl: "views/test/dashboard.tpl.html",

});
index.html页面中的模式视图为

<div class="modal-body" ng-controller="userController">
    <form ng-submit="login()" >
        <div class="form-group">
        <label for="exampleInputEmail1">Email address</label>
        <input type="text" class="form-control" id="exampleInputEmail1" ng-model="user.email" placeholder="Enter email">
        </div>
        <div class="form-group">
        <label for="exampleInputPassword1">Password</label>
        <input type="password" class="form-control" id="exampleInputPassword1" ng-model="user.password" placeholder="Password">
        </div>
        <button type="submit" class="btn btn-default">Sign In</button>
    </form>
</div>
Angular js抛出错误为

TypeError:undefined不是函数 位于l.$scope.login() 随时通话


国家不被转移。请让我知道我错在哪里

请确保您在angular模块中插入了ui.router

var myAppModule = angular.module('myApp', ['ui.router']);

谢谢大家。我发现了我的错误

早些时候

myApp.controller('userController',['$scope', '$http','$rootScope','$stateParams', '$state', function ($scope,$http,$rootScope,$state, $stateParams)
改成

myApp.controller('userController',['$scope', '$http','$rootScope','$state', '$stateParams', function ($scope,$http,$rootScope,$state, $stateParams)

stateParams和state的注入没有按顺序进行,这导致了错误。

您是否在userController控制器中注入了$state?请查看是否如@levi所述注入了$state。如果是,控制器中的第15行是什么?是。$state被注入$state.go(“测试”)--第15行检查你的ui路由器版本EP。我注入了它。由于我使用它作为模式登录表单,它不起作用。如果我从另一个角度来看,它是有效的。指导我如何从模态形式更改状态。请再检查一下我的代码。非常感谢,我也遇到了同样的问题,但我在1000年内从未意识到服务的顺序必须如此具体。你错过了一个结帐吗?
myApp.controller('userController',['$scope', '$http','$rootScope','$state', '$stateParams', function ($scope,$http,$rootScope,$state, $stateParams)