Нажмите не работает в div

0

У меня есть меню, которое появляется, когда я нажимаю кнопку. Ну, в это меню у меня есть пары пролетов: icon-title. Довольно просто, наверное.

Ну, так или иначе, эти промежутки не называют мой метод контроллера, когда я нажимаю на них. Я попытался обернуть эти пары в div и установить ng-click на них, но это тоже не сработает.

Это мое контекстное меню:

<div class="opciones" ng-hide="optionsHide">
      <div>
        <span class="glyphicon glyphicon-lock icono"></span> <span class="optionsLabel">Encrypt</span>
      </div><br>
      <div ng-click="removeNote()">
        <span class="glyphicon glyphicon-trash icono"></span><span class="optionsLabel">&nbspDelete</span><br>
      </div><br>
      <div>
      <span class="glyphicon glyphicon-wrench icono"></span><span class="optionsLabel">&nbspOptions</span>
      </div>
    </div>

В настоящее время я сосредоточен только на функции removeNote(). У меня есть как угловые, так и узловые методы, готовые к тестированию, но я просто не могу их использовать, так как я не могу выполнить щелчок.

Это функция внутри рабочего контроллера:

    $scope.removeNote = function(){
      $http.post('/removeNote', $scope.mainNote).success(function(data){
        console.log("Note removed");
        console.log(data);
        loadNotes();
        }).error(function(err){
          console.log("ERROR ON DELETE");
          console.log(err);
          });
    }

Почему ng-click не вызывает эту функцию? Я что-то упускаю?

редактировать:

Объявление контроллера:

Верхний контроллер:

 app.controller('mainCtrl', ['$scope', '$http', '$filter', 'focus', function($scope, $http, $filter, focus){

Внутренне:

app.controller('contentCtrl', ['$scope', '$q', '$timeout', function($scope, $q, $timeout) {

Использование:

<body ng-controller="mainCtrl" ng-cloak>
    // Things
     <content ng-controller="contentCtrl">
     // My contextual menu as shown above

Фактически, этот метод находится внутри другого контроллера (да, два вложенных контроллера), но остальные наследуемые функции работают правильно; единственный, который не работает, - это один. В любом случае, я продолжаю видеть нормальный указатель, когда я нажимаю мышь на div/пару пролетов, поэтому он вообще не применяется (я вижу это в HTML-консоли tho).

  • 0
    Мое первое предположение заключается в том, что вы получаете сообщение об ошибке, потому что в вашем обратном вызове $ http.post слово «success» пишется неправильно. Проверьте ваш консольный журнал.
  • 0
    Просто исправил и отредактировал эту опечатку, но спасибо! В любом случае это не проблема, так как метод никогда не вызывается.
Показать ещё 14 комментариев

1 ответ

0

Попробуйте изменить строку ng-controller:

<body ng-controller="MainCtrl as vm">

Затем ваш метод вызовет:

<div ng-click="vm.removeNote()">

Работает ли он сейчас, дает ли console.log что-то?

Ещё вопросы

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