- Ionic 基础教程
- Ionic - 首页
- Ionic - 概述
- Ionic - 环境设置
- Ionic CSS 组件
- Ionic - 颜色
- Ionic - 内容
- Ionic - 页眉
- Ionic - 页脚
- Ionic - 按钮
- Ionic - 列表
- Ionic - 卡片
- Ionic - 表单
- Ionic - 切换按钮
- Ionic - 复选框
- Ionic - 单选按钮
- Ionic - 范围滑块
- Ionic - 选择框
- Ionic - 标签页
- Ionic - 网格
- Ionic - 图标
- Ionic - 内边距
- Ionic Javascript 组件
- Ionic - JS 动作面板
- Ionic - JS 背景
- Ionic - JS 内容
- Ionic - JS 表单
- Ionic - JS 事件
- Ionic - JS 页眉
- Ionic - JS 页脚
- Ionic - JS 键盘
- Ionic - JS 列表
- Ionic - JS 加载
- Ionic - JS 模态框
- Ionic - JS 导航
- Ionic - JS 气泡提示
- Ionic - JS 弹出窗口
- Ionic - JS 滚动
- Ionic - JS 侧边菜单
- Ionic - JS 滑动框
- Ionic - JS 标签页
- Ionic 高级概念
- Ionic - Cordova 集成
- Ionic - AdMob
- Ionic - 相机
- Ionic - Facebook
- Ionic - 应用内浏览器
- Ionic - 原生音频
- Ionic - 定位
- Ionic - 媒体
- Ionic - 闪屏
- Ionic 有用资源
- Ionic - 快速指南
- Ionic - 有用资源
- Ionic - 讨论
Ionic - JavaScript 弹出窗口
此服务用于在常规视图顶部创建弹出窗口,该窗口将用于与用户交互。弹出窗口有四种类型,即 - **显示**、**确认**、**警报**和**提示**。
使用显示弹出窗口
此弹出窗口是最复杂的。要触发弹出窗口,我们需要将 **$ionicPopup** 服务注入到我们的控制器中,然后只需添加一个方法来触发我们想要使用的弹出窗口,在本例中为 **$ionicPopup.show()**。**onTap(e)** 函数可用于添加 **e.preventDefault()** 方法,如果对输入没有进行任何更改,则此方法将使弹出窗口保持打开状态。当弹出窗口关闭时,承诺对象将被解析。
控制器代码
.controller('MyCtrl', function($scope, $ionicPopup) {
// When button is clicked, the popup will be shown...
$scope.showPopup = function() {
$scope.data = {}
// Custom popup
var myPopup = $ionicPopup.show({
template: '<input type = "text" ng-model = "data.model">',
title: 'Title',
subTitle: 'Subtitle',
scope: $scope,
buttons: [
{ text: 'Cancel' }, {
text: '<b>Save</b>',
type: 'button-positive',
onTap: function(e) {
if (!$scope.data.model) {
//don't allow the user to close unless he enters model...
e.preventDefault();
} else {
return $scope.data.model;
}
}
}
]
});
myPopup.then(function(res) {
console.log('Tapped!', res);
});
};
})
HTML 代码
<button class = "button" ng-click = "showPopup()">Add Popup Show</button>
您可能在上述示例中注意到使用了一些新的选项。下表将解释所有这些选项及其用例。
显示弹出窗口选项
| 选项 | 类型 | 详情 |
|---|---|---|
| template | 字符串 | 弹出窗口的内联 HTML 模板。 |
| templateUrl | 字符串 | HTML 模板的 URL。 |
| title | 字符串 | 弹出窗口的标题。 |
| subTitle | 字符串 | 弹出窗口的副标题。 |
| cssClass | 字符串 | 弹出窗口的 CSS 类名。 |
| scope | 作用域 | 弹出窗口的作用域。 |
| buttons | 数组[对象] | 将放置在弹出窗口页脚中的按钮。它们可以使用自己的属性和方法。**text** 显示在按钮顶部,**type** 是用于按钮的 Ionic 类,**onTap** 是按钮被点击时将触发的函数。返回值将导致 promise 使用给定值解析。 |
使用确认弹出窗口
确认弹出窗口是 Ionic 弹出窗口的简化版本。它包含“取消”和“确定”按钮,用户可以按下这些按钮来触发相应的函数。它返回一个承诺对象,当按下其中一个按钮时,该对象将被解析。
控制器代码
.controller('MyCtrl', function($scope, $ionicPopup) {
// When button is clicked, the popup will be shown...
$scope.showConfirm = function() {
var confirmPopup = $ionicPopup.confirm({
title: 'Title',
template: 'Are you sure?'
});
confirmPopup.then(function(res) {
if(res) {
console.log('Sure!');
} else {
console.log('Not sure!');
}
});
};
})
HTML 代码
<button class = "button" ng-click = "showConfirm()">Add Popup Confirm</button>
下表解释了可用于此弹出窗口的选项。
确认弹出窗口选项
| 选项 | 类型 | 详情 |
|---|---|---|
| template | 字符串 | 弹出窗口的内联 HTML 模板。 |
| templateUrl | 字符串 | HTML 模板的 URL。 |
| title | 字符串 | 弹出窗口的标题。 |
| subTitle | 字符串 | 弹出窗口的副标题。 |
| cssClass | 字符串 | 弹出窗口的 CSS 类名。 |
| cancelText | 字符串 | “取消”按钮的文本。 |
| cancelType | 字符串 | “取消”按钮的 Ionic 按钮类型。 |
| okText | 字符串 | “确定”按钮的文本。 |
| okType | 字符串 | “确定”按钮的 Ionic 按钮类型。 |
使用警报弹出窗口
警报是一个简单的弹出窗口,用于向用户显示警报信息。它只有一个按钮,用于关闭弹出窗口并解析弹出窗口的承诺对象。
控制器代码
.controller('MyCtrl', function($scope, $ionicPopup) {
$scope.showAlert = function() {
var alertPopup = $ionicPopup.alert({
title: 'Title',
template: 'Alert message'
});
alertPopup.then(function(res) {
// Custom functionality....
});
};
})
HTML 代码
<button class = "button" ng-click = "showAlert()">Add Popup Alert</button>
它将生成以下屏幕 -
下表显示了可用于警报弹出窗口的选项。
警报弹出窗口选项
| 选项 | 类型 | 详情 |
|---|---|---|
| template | 字符串 | 弹出窗口的内联 HTML 模板。 |
| templateUrl | 字符串 | HTML 模板的 URL。 |
| title | 字符串 | 弹出窗口的标题。 |
| subTitle | 字符串 | 弹出窗口的副标题。 |
| cssClass | 字符串 | 弹出窗口的 CSS 类名。 |
| okText | 字符串 | “确定”按钮的文本。 |
| okType | 字符串 | “确定”按钮的 Ionic 按钮类型。 |
使用提示弹出窗口
可以使用 Ionic 创建的最后一个 Ionic 弹出窗口是 **提示**。它有一个“确定”按钮,使用输入中的值解析 promise,以及一个“取消”按钮,使用未定义值解析。
控制器代码
.controller('MyCtrl', function($scope, $ionicPopup) {
$scope.showPrompt = function() {
var promptPopup = $ionicPopup.prompt({
title: 'Title',
template: 'Template text',
inputType: 'text',
inputPlaceholder: 'Placeholder'
});
promptPopup.then(function(res) {
console.log(res);
});
};
})
HTML 代码
<button class = "button" ng-click = "showPrompt()">Add Popup Prompt</button>
它将生成以下屏幕 -
下表显示了可用于提示弹出窗口的选项。
提示弹出窗口选项
| 选项 | 类型 | 详情 |
|---|---|---|
| template | 字符串 | 弹出窗口的内联 HTML 模板。 |
| templateUrl | 字符串 | HTML 模板的 URL。 |
| title | 字符串 | 弹出窗口的标题。 |
| subTitle | 字符串 | 弹出窗口的副标题。 |
| cssClass | 字符串 | 弹出窗口的 CSS 类名。 |
| inputType | 字符串 | 输入的类型。 |
| inputPlaceholder | 字符串 | 输入的占位符。 |
| cancelText | 字符串 | “取消”按钮的文本。 |
| cancelType | 字符串 | “取消”按钮的 Ionic 按钮类型。 |
| okText | 字符串 | “确定”按钮的文本。 |
| okType | 字符串 | “确定”按钮的 Ionic 按钮类型。 |
广告