Angularjs $scope未在从弹出窗口调用的函数中定义

Angularjs $scope未在从弹出窗口调用的函数中定义,angularjs,scope,angularjs-scope,Angularjs,Scope,Angularjs Scope,我不知道为什么我不能在$scope.menupoppdelete中访问$scope,我需要删除弹出窗口中单击的行程。 $scope.trips不是控制器内的全局变量?? 我将非常感谢您的帮助 HTML: 我认为你的问题更多的是你的HTML结构,而不是其他任何东西。你的点击被吞噬了,永远不会被执行。 试试这个,看起来效果不错 <div class="menu-points" ng-click="showMenuPopUp('popup1')"> <img

我不知道为什么我不能在$scope.menupoppdelete中访问$scope,我需要删除弹出窗口中单击的行程。 $scope.trips不是控制器内的全局变量?? 我将非常感谢您的帮助

HTML:


我认为你的问题更多的是你的HTML结构,而不是其他任何东西。你的点击被吞噬了,永远不会被执行。 试试这个,看起来效果不错

    <div class="menu-points" ng-click="showMenuPopUp('popup1')">
        <img src="images/menu-points.png"/>
    </div>
        <div id='popup1' class="popup-menu" style="display: none">
            <div ng-click="menuPopUpDeleteClicked($event,$index)">Eliminar</div>
        </div>

   $scope.showMenuPopUp = function(name){
    var $popup = $('#'+name);
    $popup.show('fast',function(){
      $('body').click(function(){
          $popup.hide();
          $(this).unbind("click");
      });
    });
   }
   $scope.menuPopUpDeleteClicked = function($event,$index){
     console.log("inside here");
     console.log($scope.trips);
   }

Eliminar
$scope.showMenuPopUp=函数(名称){
var$popup=$(“#”+名称);
$popup.show('fast',function(){
$('body')。单击(函数(){
$popup.hide();
$(此)。解除绑定(“单击”);
});
});
}
$scope.menupOppDeleteClicked=函数($event,$index){
console.log(“此处内部”);
log($scope.trips);
}
请注意,当click事件被吞噬时,弹出窗口将从封闭的div中取出。将传入弹出窗口的名称,而不是事件

 var mytrips = angular.module('mytrips',[]);
 mytrips.controller('mytripsController', function ($scope) {
$scope.trips = [
    {
        "id":"1",
        "title":"Plan de viaje Mallorca",
        "island": "Mallorca",
        "duration": "3",
        "startDate":"19/10/2014",
        "endDate":"21/10/2014",
        "image":"fotoTrips.jpg"
    },
    {
        "id":"2",
        "title":"Plan de viaje Mallorca2",
        "island": "Mallorca",
        "duration": "3",
        "startDate":"19/10/2014",
        "endDate":"21/10/2014",
        "image":"fotoTrips.jpg"
    }

];

$scope.showMenuPopUp = function($event){
    var $popup = $($event.currentTarget).find('.popup-menu');
    $popup.show('fast',function(){
        $('body').click(function(){
            $popup.hide();
            $(this).unbind("click");
        });
    });
}
$scope.menuPopUpDeleteClicked = function($event,$index){
}
  });
    <div class="menu-points" ng-click="showMenuPopUp('popup1')">
        <img src="images/menu-points.png"/>
    </div>
        <div id='popup1' class="popup-menu" style="display: none">
            <div ng-click="menuPopUpDeleteClicked($event,$index)">Eliminar</div>
        </div>

   $scope.showMenuPopUp = function(name){
    var $popup = $('#'+name);
    $popup.show('fast',function(){
      $('body').click(function(){
          $popup.hide();
          $(this).unbind("click");
      });
    });
   }
   $scope.menuPopUpDeleteClicked = function($event,$index){
     console.log("inside here");
     console.log($scope.trips);
   }