$state.go 无法通过单独的控制器工作
$state.go is not working from separate controller
这是我的代码
$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>
我的 userController 函数是
$scope.login = function(){
console.log($scope.user);
if($scope.user.email=="xxxx" && $scope.user.password=="123456"){
$state.go("test");
}
}
Angular js 抛出错误
TypeError: undefined 不是一个函数
在 l.$scope.login (http://localhost/yyy/scripts/controllers/userController.js:15:19)
在 ib.functionCall
状态未转移。请让我知道我哪里错了
确保您在 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 的注入不正确,导致错误。
这是我的代码
$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>
我的 userController 函数是
$scope.login = function(){
console.log($scope.user);
if($scope.user.email=="xxxx" && $scope.user.password=="123456"){
$state.go("test");
}
}
Angular js 抛出错误
TypeError: undefined 不是一个函数 在 l.$scope.login (http://localhost/yyy/scripts/controllers/userController.js:15:19) 在 ib.functionCall
状态未转移。请让我知道我哪里错了
确保您在 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 的注入不正确,导致错误。