PhoneGap中文网

 找回密码
 立即注册
查看: 13483|回复: 4
打印 上一主题 下一主题

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

[复制链接]

43

主题

64

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
跳转到指定楼层
楼主
发表于 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()",可是如上代码,我明明写了啊?求指教


回复

使用道具 举报

11

主题

529

帖子

1418

积分

金牌会员

Rank: 6Rank: 6

积分
1418
沙发
发表于 2016-5-8 10:34:43 | 只看该作者
ng-click写到 img的上一个标签试试
回复 支持 反对

使用道具 举报

0

主题

5

帖子

52

积分

注册会员

Rank: 2

积分
52
板凳
发表于 2016-5-9 01:41:08 | 只看该作者
ng-click是angularjs中的指令,$ionicPopup中应该没有对title属性进行compile,所以加了没效果
回复 支持 反对

使用道具 举报

43

主题

64

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
地板
 楼主| 发表于 2016-5-9 15:29:48 | 只看该作者
git 发表于 2016-5-9 01:41
ng-click是angularjs中的指令,$ionicPopup中应该没有对title属性进行compile,所以加了没效果 ...

那有什么好的办法吗?谢谢!
回复 支持 反对

使用道具 举报

0

主题

5

帖子

52

积分

注册会员

Rank: 2

积分
52
5#
发表于 2016-5-11 01:22:34 | 只看该作者
本帖最后由 git 于 2016-5-11 01:31 编辑
  1. angular.module("app", ['ionic'])
  2.   .controller("controller", function($scope,$ionicPopup,$compile) {
  3.    
  4.     $scope.click = function() {
  5.       $ionicPopup.show({
  6.         //title: "<a ng-click='close()'>已报名会员</a>",
  7.         scope: $scope,
  8.         buttons: [
  9.           { text: 'Cancel' },
  10.         ]
  11.        });
  12.       
  13.        var title = "<button ng-click='close()'>关闭</button>";
  14.        var stack = $ionicPopup._popupStack;//获取所有的弹出层列表
  15.        if(stack.length>0){
  16.          var popup = stack[stack.length-1];//最后一个是当前打开的popup
  17.          popup.scope.close = function(){
  18.            popup.responseDeferred.resolve();//关闭当前弹出层
  19.          }
  20.          var $btn = $compile(title)(popup.scope);//compile的scope为popup的scope
  21.          var $parent = popup.element;
  22.          angular.element('.popup-head', $parent).append($btn);//将compile好的元素放到popup-head上
  23.        }
  24.     }
  25.   })
复制代码
http://codepen.io/wangchuan/pen/ONqVVd

可以这样来写, 代码作用是在标题上加入一个可以关闭弹出层的按钮
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-5-20 20:00 , Processed in 0.041793 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表