在弹出框标题上加事件,总是没有效果?请看代码?
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()",可是如上代码,我明明写了啊?求指教
ng-click写到 img的上一个标签试试 ng-click是angularjs中的指令,$ionicPopup中应该没有对title属性进行compile,所以加了没效果 git 发表于 2016-5-9 01:41
ng-click是angularjs中的指令,$ionicPopup中应该没有对title属性进行compile,所以加了没效果 ...
那有什么好的办法吗?谢谢! 本帖最后由 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]