1、只是弹出框

/* --- page1.html ---*/

<ion-navbar *navbar>
<ion-title>Tab 1</ion-title>
</ion-navbar> <ion-content padding class="page1">
<h2>Welcome to Ionic!</h2> <button (click) = "doAlert()">点击弹出窗口</button> </ion-content> /* --- page1.html ---*/

以下代码都用 page1.html

/* --- page1.js ---*/

import { Page, Alert, NavController } from 'ionic-angular';

@Page({
templateUrl: 'build/pages/page1/page1.html'
}) export class Page1 {
static get parameters() {
return [[NavController]];
} constructor(nav) {
this.nav = nav
} doAlert() { let alert = Alert.create({
title: 'New Friend!',
subTitle: 'Your friend, Obi wan Kenobi, just accepted your friend request!',
buttons: ['OK']
}); this.nav.present(alert); } } /* --- page1.js ---*/
这样我们就创建好了一个弹出窗口。效果如下。

那么这样做的话应该只是 显示了一个展示效果。 如果我想在这个弹出框内 输入信息呢?可以这样做。

2、带有input的弹出框

/* --- page1.js ---*/

import { Page, Alert, NavController } from 'ionic-angular';

@Page({
templateUrl: 'build/pages/page1/page1.html'
}) export class Page1 {
static get parameters() {
return [[NavController]];
} constructor(nav) {
this.nav = nav
} doAlert() { let prompt = Alert.create({
title: 'Login',
message: "Enter a name for this new album you're so keen on adding",
inputs: [
{
name: 'userName',
placeholder: 'userName'
},
{
name: 'passWord',
placeholder: 'passWord'
},
],
buttons: [
{
text: 'Cancel',
handler: data => {
console.log('Cancel clicked');
}
},
{
text: 'login',
handler: data => {
console.log('login in');
console.log(data)
}
}
]
}); this.nav.present(prompt); } } /* --- page1.js ---*/
看 紫色部分的 代码意思 就是创建了两个 input 然后 赋予两个 name 然后在看 深蓝部分 的 buttons 中 同样创建了两个方法 而input得到的值 紫色部分 的 红色部分 userName 和 password
传给了。 深蓝部分  的 红色部分 也就是 buttons 中的 handler 参数的 data 获取之后  就可以处理他了。效果图如下。
当我在 输入内容的时候 点击 login 时候 看 他会打印出  {userName: "admin", passWord: "admin888"} 
 
3、按钮的功能
/* --- page1.js ---*/

export class Page1 {
static get parameters() {
return [[NavController]];
} constructor(nav) {
this.nav = nav
} doAlert() { let confirm = Alert.create({
title: 'Use this lightsaber?',
message: 'Do you agree to use this lightsaber to do good across the intergalactic galaxy?',
buttons: [
{
text: 'Disagree',
handler: () => {
console.log('Disagree clicked');
}
},
{
text: 'Agree',
handler: () => {
console.log('Agree clicked');
}
}
]
}); this.nav.present(confirm); } } /* --- page1.js ---*/

其实看完 1小节的时候 发现ok并没有方法 只能起到一个提示作用,但是在看完2小节的时候button是可以传一个数组的。。所以3小节的代码基本上都可以看的懂。

4、对象形式的弹出框。

以上方式都可以对一些 input 进行操作 。那么问题来了。当我有 radio 这种属性的时候 该怎么解决呢?对象形式满足你。

/* --- page1.js ---*/

import { Page, Alert, NavController } from 'ionic-angular';

@Page({
templateUrl: 'build/pages/page1/page1.html'
}) export class Page1 {
static get parameters() {
return [[NavController]];
} constructor(nav) {
this.nav = nav
} doAlert() { let alert = Alert.create();
alert.setTitle('Lightsaber color'); alert.addInput({
type: 'radio',
label: 'Blue',
value: 'blue',
checked: true
}); alert.addButton('Cancel');
alert.addButton({
text: 'OK',
handler: data => {
this.testRadioOpen = false;
this.testRadioResult = data;
}
}); this.nav.present(alert); } } /* --- page1.js ---*/

当然 还有 checkbox

/* --- page1.js ---*/

import { Page, Alert, NavController } from 'ionic-angular';

@Page({
templateUrl: 'build/pages/page1/page1.html'
}) export class Page1 {
static get parameters() {
return [[NavController]];
} constructor(nav) {
this.nav = nav
} doAlert() { let alert = Alert.create();
alert.setTitle('Which planets have you visited?'); alert.addInput({
type: 'checkbox',
label: 'Alderaan',
value: 'value1',
checked: true
}); alert.addInput({
type: 'checkbox',
label: 'Bespin',
value: 'value2'
}); alert.addButton('Cancel');
alert.addButton({
text: 'Okay',
handler: data => {
console.log('Checkbox data:', data);
this.testCheckboxOpen = false;
this.testCheckboxResult = data;
}
}); this.nav.present(alert); } } /* --- page1.js ---*/

这种对象模式 知道就好了。基本用户需要这种复杂的操作的时候 就直接跳转页面写样式就好了 不然的话样式会很死板。
弹出框我建议最好做一些 提示会比较好。

2、弹出窗口 Alert的更多相关文章

  1. javascript 中的console.log和弹出窗口alert

    主要是方便你调式javascript用的.你可以看到你在页面中输出的内容. 相比alert他的优点是: 他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是co ...

  2. ExtJs--02--MessageBox相关弹出窗口alert,prompt,confirm采用

    /* Ext.onReady(function(){ Ext.MessageBox.alert("jack","tom"); Ext.MessageBox.al ...

  3. selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理

    一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确 ...

  4. [转]js来弹出窗口的详细说明

    1.警告对话框 <script> alert("警告文字") </script> 2.确认对话框 <script> confirm(" ...

  5. jquery-通过js编写弹出窗口

    本文转载 本文主要是通过js动态控制div的高度,css控制浮动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...

  6. js弹出窗口总结6种弹窗方法

    注: //关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close(); ...

  7. window.open()弹出窗口防止被禁

    window.open(),顾名思义,是指在当前浏览器窗口弹出另一个浏览器窗口. 因为多种原因,浏览对window.open弹出的窗口做了多方限制.限制不同,肯定会造成各浏览器弹出窗口的差异. 大部分 ...

  8. 深入浅出ExtJS 第七章 弹出窗口

    7.1 Ext.MessageBox 7.1 Ext.MessageBox //Ext.MessageBox为我们提供的alert/confirm/prompt等完全可以代替浏览器原生; 7.1.1 ...

  9. fancybox 关闭弹出窗口 parent.$.fancybox.close(); 无反应 fancybox 关闭弹出窗口父页面自动刷新,弹出子窗口前后事件

    当我们在父页面使用 fancybox 弹出窗口后,如果想自己手动关闭,则可以 function Cancel() { parent.$.fancybox.close(); } 如果关闭没有反应,最好看 ...

随机推荐

  1. 3月份GitHub上最热门的Java开源项目

    今天,我们来盘点3月份GitHub上最热门的Java项目的时候了,如果你每月都有关注猿妹发布的排行榜,那么本月的Java项目对你来说一定不陌生,这些都是曾经多次出现在榜单中的项目: 1 advance ...

  2. 【ARC083E】Bichrome Tree 树形dp

    Description 有一颗N个节点的树,其中1号节点是整棵树的根节点,而对于第ii个点(2≤i≤N)(2≤i≤N),其父节点为PiPi 对于这棵树上每一个节点Snuke将会钦定一种颜色(黑或白), ...

  3. 期待suqingnian.h

    不定期更新,跟着自己的进度走的. 有什么好的东西可以收录的尽管留言 UPD:话说真的没人发现本宝宝的$Martix$类的$operator$打错了么?$qwq$ $2018.7.19$ /*by Qi ...

  4. Ubuntu16.04LTS安装集成开发工具IDE: CodeBlocks 和Eclipse-cdt

    上文中,我们已经介绍了QT5.10.0在Ubuntu下的安装 https://www.cnblogs.com/si-lei/p/9240230.html, 接下来我们介绍CodeBlocks以及Ecl ...

  5. iOS APP日志写入文件(日志收集)

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  6. 如何在UITableViewController上添加一个固定的视图

    最近在使用UITableViewController,想在上面添加一个固定的视图,不随ScrollView滑动而移动.最后找到2种解决办法,一种是计算TableView的偏移,调整视图的位置,不断更新 ...

  7. rpm命令-以jenkins为例

    1.列出所有安装的Jenkins rpm -qa | grep jenkins 2.软件是否安装:例如:jenkins是否安装 rpm -qa | grep jenkins 3.rpm -ql 列出软 ...

  8. there is already 'RtController' bean method 项目报错

    今天开发项目时候发现项目报错启动的时候,也没有具体指的是哪一行报错,其实很简单的知道,首先看下报错信息: there is already 'RtController' bean method pub ...

  9. Bootstrap点击弹出注册登录

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 【算法笔记】B1018 锤子剪刀布

    1018 锤子剪刀布 (20 分) 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. ...