Кнопка Angular JS ng-click не вызывает метод

на данный момент я прочитал много сообщений об этой проблеме, но, похоже, ни у кого нет решения.

В моем приложении angular я создал новый маршрут с angular-fullstack: route

Итак, вот мой контроллер, шаблон и файл конфигурации:

контроллер:

'use strict';

(function() {
  class AnmeldungCtrl {

    constructor($http, $window, $uibModal, $state) {

    }

    searchUser(searchString) {
      console.log("search Method");
      if (searchString.isNaN()) {
        this.state = "search";
        console.log("search");
        //TODO Search for name
      }
      else if (searchString >= 1000000) {
        this.state = "anmeldung";
        console.log("anmeldung");
        //TODO Search for bar code
      }
      else {
        this.state = "edit";
        console.log("edit");
        //TODO Search for Participant
      }
    }
  }

  angular.module('schwimmfestivalApp').controller('AnmeldungCtrl', AnmeldungCtrl);
})();

шаблон:

<div>

  <input type="text" ng-model="query" >

  <button ng-click="ctrl.searchUser(query)">Search</button>
  {{query}}
</div>

файл конфигурации:

'use strict';

angular.module('schwimmfestivalApp')
  .config(function ($stateProvider) {
    $stateProvider
      .state('anmeldung', {
        url: '/anmeldung',
        templateUrl: 'app/anmeldung/anmeldung.html',
        controller: 'AnmeldungCtrl',
        controllerAs: 'ctrl'
      });
  });

Как я упоминал в своем заголовке, по какой-то причине метод контроллера не вызывается. И я понятия не имею, почему.

На других моих маршрутах это работает.

Я надеюсь, что вы можете дать мне подсказку.

Заранее спасибо.


person dominic    schedule 03.08.2016    source источник
comment
можете ли вы предоставить какой-нибудь Plunk или jsfiddel для лучшего понимания.   -  person Viplock    schedule 03.08.2016
comment
файл контроллера включен в ваш проект?   -  person Razvan Ilin    schedule 03.08.2016
comment
да, это ‹script src=app/anmeldung/anmeldung.controller.js›‹/script› ‹script src=app/anmeldung/anmeldung.js›‹/script›   -  person dominic    schedule 03.08.2016
comment
@Viplock Извините, но я никогда не работаю с угловыми скрипками ... :(   -  person dominic    schedule 03.08.2016
comment
@dominic, можешь проверить, есть ли ошибка на консоли?   -  person Viplock    schedule 03.08.2016
comment
@Viplock нет, консоль остается пустой. Это самая большая проблема на данный момент. Если бы там, где ошибка, я мог бы искать для этого. Мне интересно, потому что в разных контроллерах в этом приложении эта настройка работает.   -  person dominic    schedule 03.08.2016
comment
@dominic Я создал plunker на основе предоставленного вами кода, и он работает нормально.   -  person MMhunter    schedule 03.08.2016
comment
Хорошо, я получил его на работу. Это была ошибка в моей точке (как и ожидалось). Мой коллега создал cnontroller по другому пути с тем же идентификатором...   -  person dominic    schedule 03.08.2016


Ответы (2)


Хорошо, я получил его на работу. Это была ошибка в моей точке (как и ожидалось). Мой коллега создал cnontroller по другому пути с тем же идентификатором.

Таким образом, angular не выдает ошибку, если что-то подобное произошло. Поскольку второй контроллер находился на более низком пути, он включался после исходного контроллера.

Спасибо @MMhunter, который поместил консольный вывод в конструктор. Это не было напечатано в моей среде разработки. Итак, я начал искать, почему, и нашел второй контроллер.

Спасибо всем вам за вашу помощь.

person dominic    schedule 03.08.2016

попробуйте использовать только searchUser (запрос), это может сработать, потому что контроллер уже добавлен, нет необходимости вызывать функцию с помощью контроллера

person Vikash Kumar    schedule 03.08.2016
comment
это не работает, в консоли моего браузера нет вывода - person dominic; 03.08.2016
comment
это не решение. - person Viplock; 03.08.2016