我本飞扬521 发表于 2016-5-6 15:30:59

在弹出框标题上加事件,总是没有效果?请看代码?

myPopup = $ionicPopup.show({

         template:tep,
         title: '已报名会员<img ng-click="close()" src="../common/imgs/coloseBt.png">',
         subTitle: '',
         scope: $scope,
         buttons: [
             { text: 'Cancel' },
//             {
//               text: '<b>Save</b>',
//               type: 'button-positive',
//               onTap: function(e) {
//               if (!$scope.data.wifi) {
//                   //不允许用户关闭,除非他键入wifi密码
//                   e.preventDefault();
//               } else {
//                   return $scope.data.wifi;
//               }
//               }
//             },
         ]
         });
看上面的title属性,我在img上加了个事件ng-click="close()"没有效果,页面f12检查加载的代码是发现img标签上没有加上ng-click="close()",可是如上代码,我明明写了啊?求指教


ionicwang 发表于 2016-5-8 10:34:43

ng-click写到 img的上一个标签试试

git 发表于 2016-5-9 01:41:08

ng-click是angularjs中的指令,$ionicPopup中应该没有对title属性进行compile,所以加了没效果

我本飞扬521 发表于 2016-5-9 15:29:48

git 发表于 2016-5-9 01:41
ng-click是angularjs中的指令,$ionicPopup中应该没有对title属性进行compile,所以加了没效果 ...

那有什么好的办法吗?谢谢!

git 发表于 2016-5-11 01:22:34

本帖最后由 git 于 2016-5-11 01:31 编辑

angular.module("app", ['ionic'])
.controller("controller", function($scope,$ionicPopup,$compile) {
   
    $scope.click = function() {
      $ionicPopup.show({
      //title: "<a ng-click='close()'>已报名会员</a>",
      scope: $scope,
      buttons: [
          { text: 'Cancel' },
      ]
       });
      
       var title = "<button ng-click='close()'>关闭</button>";
       var stack = $ionicPopup._popupStack;//获取所有的弹出层列表
       if(stack.length>0){
         var popup = stack;//最后一个是当前打开的popup
         popup.scope.close = function(){
         popup.responseDeferred.resolve();//关闭当前弹出层
         }
         var $btn = $compile(title)(popup.scope);//compile的scope为popup的scope
         var $parent = popup.element;
         angular.element('.popup-head', $parent).append($btn);//将compile好的元素放到popup-head上
       }
    }
})http://codepen.io/wangchuan/pen/ONqVVd

可以这样来写, 代码作用是在标题上加入一个可以关闭弹出层的按钮
页: [1]
查看完整版本: 在弹出框标题上加事件,总是没有效果?请看代码?