использование 'this' вместо $ scope не удалось в angularjs

0

Я использовал megaboiletplate.com для scradoding моего проекта. Я загрузил стартовый пакет, но я столкнулся с некоторыми проблемами. Я поставил код стартера на репо

в этом файле строка 16 не запускается при нажатии кнопки входа. Кнопка входа имеет вид, подобный этому

<form ng-submit="login()">
        <legend>Log In</legend>
        <div class="form-group">
          <label for="email">Email</label>
          <input type="email" name="email" id="email" placeholder="Email" class="form-control" ng-model="user.email" autofocus>
        </div>
        <div class="form-group">
          <label for="password">Password</label>
          <input type="password" name="password" id="password" placeholder="Password" class="form-control" ng-model="user.password">
        </div>
        <div class="form-group"><a href="/forgot"><strong>Forgot your password?</strong></a></div>
        <button type="submit" class="btn btn-success">Log in</button>
      </form>

Что не так??

Теги:

1 ответ

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

убедитесь, что ваш код использует синтаксис "контроллер как". Вы можете использовать this в контроллере, но вы должны переопределить контроллер в HTML. как:

<body ng-controller="mycontroller as ctrl">

то вы можете использовать функции контроллера, такие как

<form ng-submit="ctrl.login()">

https://docs.angularjs.org/api/ng/directive/ngController

вам, возможно, придется отредактировать свою маршрутизацию, если там назначен ваш контроллер.

.when('/login', {
        templateUrl: 'partials/login.html',
        controller: 'LoginCtrl',
        resolve: { skipIfAuthenticated: skipIfAuthenticated }
      })

будет изменено на:

.when('/login', {
        templateUrl: 'partials/login.html',
        controller: 'LoginCtrl',
        controllerAs: 'ctrl',
        resolve: { skipIfAuthenticated: skipIfAuthenticated }
      })

в вашем случае это должно быть найдено в app.js шаблона

  • 0
    Я знаю, но на шаблоне даже нет ng-контроллера в поле зрения после того, как они используют глоток. Глубже спасибо
  • 0
    Я должен измениться в обоих местах?
Показать ещё 3 комментария

Ещё вопросы

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