Ошибка: [ng: areq] Аргумент 'loginCtrl>' не определен как функция

0

Эй, ребята, я застрял с этим в течение последнего часа. Таким образом, в основном, когда вы вводите admin в качестве имени пользователя и администратора в качестве пароля на этом веб-сайте, он доходит до хэша dashboard.html и показывает ошибку в консоли, а dosent - в dashboard.html...

Но он работает на plunkr... Я сошел с ума?

Вот код:

Index.html:

<!DOCTYPE html>
<html lang= "en">

<head>
    <meta charset="UTF-8" />
    <title>Basic Login Form</title>
    <script data-require="[email protected]" src="https://code.angularjs.org/1.4.8/angular.js" data-semver="1.4.8"></script>
    <script src = "https://rawgit.com/nirus/Angular-Route-Injector/master/dist/routeInjector.js"></script>
    <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular-route.js"></script>
    <script type="text/javascript" src="main.js"></script>
</head>

<body ng-app = "app">
  <div ng-view>
  </div>
</body>
</html>

dashboard.html:

Welcome User!

main.js:

var app = angular.module('app', ['ngRoute'])

app.config(function($routeProvider) {

  $routeProvider.when('/', {
    templateUrl: 'Login.html'

  })

  .when('/dashboard', {
    resolve: {
      "check": function($location, $rootScope) {
        if(!$rootScope.logedIn){
          location.path('/')
        }
        else{
          templateUrl: 'dashboard.html'
        }
      }

    },
    templateUrl: "dashboard.html"

  })

  .otherwise({
    redirectTo: '/'
  })

})

app.controller('loginCtrl', function($scope, $location, $rootScope) {
  $scope.submit = function() {

    if ($scope.username == 'admin' && $scope.password == 'admin') {
     $rootScope.logedIn = true;
      $location.path('/dashboard')

    }

  }

})

login.html:

<div ng-controller = "loginCtrl">
  <form action = "/" id = "myLogin">
    UserName : <input type = "text" name = "username" id = "username" ng-model = "username"><br>
    Password : <input type = "text" name = "password" id = "password" ng-model = "password"><br>
    <button type="button" ng-click = "submit()">Submit</button>
  </form>
</div>
  • 0
    Были ли у вас какие-либо проблемы, о которых сообщалось на консоли ... проверьте это, выполнив F12 ... в основном ваш путь к main.js будет проблемой ..
  • 0
    Вы определили ng-app = "app" в своем html, чтобы включить приложение?
Показать ещё 3 комментария
Теги:
undefined

3 ответа

1
Лучший ответ

Я просто проверил ваш сайт, который вы неправильно поставили контроллер,

+ Изменить

Из:

ng-controller="loginCtrl>"

Для того, чтобы:

ng-controller="loginCtrl">
  • 0
    Что в мире. У меня нет этого в моем редакторе кода ... Я немного отредактировал свой веб-сайт и все тот же
  • 0
    где вы разместили это? какая ОС?
Показать ещё 5 комментариев
0
app.config(function($routeProvider) {

$ routeProvider.when('/', {templateUrl: 'Login.html'

}) })

В вашем коде при загрузке частичного html вы забыли включить контроллер, так что должно быть так

                $routeProvider.when('/', {
              templateUrl: 'Login.html',
              controller:'loginCtrl'

            })

Ваш последний код выглядит так:

var app = angular.module('app', ['ngRoute'])

      app.config(function($routeProvider) {

        $routeProvider.when('/', {
          templateUrl: 'Login.html',
          controller: 'loginCtrl'

        })

        .when('/dashboard', {
          resolve: {
            "check": function($location, $rootScope) {
              if(!$rootScope.logedIn){
                location.path('/')
              }
              else{
                templateUrl: 'dashboard.html'
              }
            }

          },
          templateUrl: "dashboard.html"

        })

        .otherwise({
          redirectTo: '/'
        })

      })

      app.controller('loginCtrl', function($scope, $location, $rootScope) {
        $scope.submit = function() {

          if ($scope.username == 'admin' && $scope.password == 'admin') {
           $rootScope.logedIn = true;
            $location.path('/dashboard')

          }

        }

      })
  • 0
    почему он не сделал этого в этом уроке?] youtube.com/…
  • 0
    Не обязательно иметь контроллер на маршруте
Показать ещё 4 комментария
0

если вы проверите код... вы увидите ниже

   ng-controller="loginCtrl>"

удалите символ > в конце

Изображение 174551

  • 0
    Нет, нет ..
  • 0
    хорошо, я предоставлю вам скриншот
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню