Ng-click不在div中工作

时间:2016-05-13 20:26:17

标签: javascript html angularjs

我点击按钮时会出现一个菜单。好吧,进入那个菜单,我有两对跨度: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控制台中看到它)。

1 个答案:

答案 0 :(得分:0)

尝试更改ng-controller行:

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

然后你的方法调用:

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

现在是否有效,console.log会给你什么吗?