2017-04-07 58 views
0

这是一个小时我想了解为什么我没有在AngularJS项目的控制器中定义的函数被调用。在控制器中未调用AngularJS函数

app.js

angular.module('SupplierPortal', ['ngRoute', 'ngResource']); 

userLoginController.js

angular.module('SupplierPortal').controller('UserLoginController', function($scope, $location) { 
    $scope.text = "Hi"; 

    $scope.login = function() { 
    console.log('It doesn't show this'); 
    $location.path(/admin); 
    } 
}); 

的login.html

<div class="container"> 
<div class="row"> 
    <div class="col-sm-6 col-md-4 col-md-offset-4"> 
     <div class="account-wall"> 
      <img class="profile-img" src="https://lh5.googleusercontent.com/-b0-k99FZlyE/AAAAAAAAAAI/AAAAAAAAAAA/eu7opA4byxI/photo.jpg?sz=120" 
       alt=""> 
      <form class="form-signin"> 
       <input type="text" class="form-control" placeholder="Username" required autofocus> 
       <input type="password" class="form-control" placeholder="Password" required> 
       <input class="btn btn-lg btn-primary btn-block" type="submit" ng-click="login()" value="Login"> 
      </form> 
     </div> 
    </div> 
</div> 

routes.js

angular.module('SupplierPortal').config(function($routeProvider) { 
$routeProvider 
.when("/", { 
    templateUrl: "assets/templates/users/login.html", 
    controller: "UserLoginController" 
}) 
.when("/admin/", { 
    templateUrl: "assets/templates/users/index_admin.html" 
}) 
.otherwise({ 
    redirectTo:'/' 
}); 

});

的index.html

<!DOCTYPE html> 
<html ng-app="SupplierPortal"> 
<head> 
<meta charset="utf-8"> 
<title>Login</title> 
<link rel="stylesheet" href="assets/styles/style.css"> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"> 
</head> 
<body> 

<div ng-view class="container"></div> 

<!-- SCRIPTS --> 

<!-- Vendor --> 
<script src="assets/javascript/vendor/angular.min.js"></script> 
<script src="assets/javascript/vendor/angular-route.min.js"></script> 
<script src="assets/javascript/vendor/angular-resource.min.js"></script> 
<script src="assets/javascript/vendor/jquery-3.2.0.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 

<!-- App --> 
<script src="assets/javascript/app.js"></script> 
<script src="assets/javascript/routes.js"></script> 

<!-- Controllers --> 
<script src="assets/javascript/controllers/users/userLoginController.js"></script> 

<!-- Services --> 
<script src="assets/javascript/services/user.js"></script> 

它不会显示在控制台中的文本,当然它不会进入/管理/路径。

感谢大家会尽力帮助我!

+0

对不起,在console.log()中的消息,我写它只是为了告诉你点,它不是真正的消息,所以没有关闭字符串以登录控制台的问题。“ – Luca

+0

控制台中的任何错误?还有什么?$ location.path(”/ admin“)中的引号? – emed

回答

0

解决以下行:

console.log('It doesn't show this'); 

的字符串在句子中被封闭,“'”,因为你用‘好好尝试一下’。在“doens't”字上使用“或不使用”