草庐IT

ionic 对话框

runoob 2023-04-07 原文

ionic 对话框


$ionicPopup

ionic 对话框服务允许程序创建、显示弹出窗口。

$ionicPopup 提供了3个方法:alert(), prompt(),以及 confirm() 。

实例

HTML 代码

<body class="padding" ng-controller="PopupCtrl">
    <button class="button button-dark" ng-click="showPopup()">
      弹窗显示
    </button>
    <button class="button button-primary" ng-click="showConfirm()">
      确认对话框
    </button>
    <button class="button button-positive" ng-click="showAlert()">
      警告框
    </button>

    <script id="popup-template.html" type="text/ng-template">
      <input ng-model="data.wifi" type="text" placeholder="Password">
    </script>
</body>

JavaScript 代码

angular.module('mySuperApp', ['ionic'])
.controller('PopupCtrl',function($scope, $ionicPopup, $timeout) {

 // Triggered on a button click, or some other target
 $scope.showPopup = function() {
   $scope.data = {}

   // 自定义弹窗
   var myPopup = $ionicPopup.show({
     template: '<input type="password" ng-model="data.wifi">',
     title: 'Enter Wi-Fi Password',
     subTitle: 'Please use normal things',
     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;
           }
         }
       },
     ]
   });
   myPopup.then(function(res) {
     console.log('Tapped!', res);
   });
   $timeout(function() {
      myPopup.close(); // 3秒后关闭弹窗
   }, 3000);
  };
   //  confirm 对话框
   $scope.showConfirm = function() {
     var confirmPopup = $ionicPopup.confirm({
       title: 'Consume Ice Cream',
       template: 'Are you sure you want to eat this ice cream?'
     });
     confirmPopup.then(function(res) {
       if(res) {
         console.log('You are sure');
       } else {
         console.log('You are not sure');
       }
     });
   };

   //  alert(警告) 对话框
   $scope.showAlert = function() {
     var alertPopup = $ionicPopup.alert({
       title: 'Don\'t eat that!',
       template: 'It might taste good'
     });
     alertPopup.then(function(res) {
       console.log('Thank you for not eating my delicious ice cream cone');
     });
   };
});

有关ionic 对话框的更多相关文章

  1. Android对话框的详细介绍(提示对话框,自定义对话框) - 2

    简介:我们都知道在Android开发中,当我们的程序在与用户交互时,用户会得到一定的反馈,其中以对话框的形式的反馈还是比较常见的,接下来我们来介绍几种常见的对话框的基本使用。前置准备:(文章最后附有所有代码)我们首先先写一个简单的页面用于测试这几种Dialog(对话框)代码如下,比较简单,就不做解释了一、提示对话框(即最普通的对话框)首先我们给普通对话框的按钮设置一个点击事件,然后通过AlertDialog.Builder来构造一个对象,为什么不直接Dialog一个对象,是因为Dialog是一个基类,我们尽量要使用它的子类来进行实例化对象,在实例化对象的时候,需要将当前的上下文传过去,因为我这

  2. ruby-on-rails - ActiveRecord 与两个数据库对话? - 2

    我们最近改进了一个项目,希望将我们所有的旧数据带入新系统。问题在于架构略有不同,因此无法直接导入SQL。由于一些非规范化和数据库更改,我们需要在数据准备好导入之前对数据进行一些处理。我希望是这样的:OldUser.all.eachdo|ou|NewUser.create({:first_name=>ou.first_name:last_name=>ou.last_name:login=>ou.login:company_name=>ou.company.name})end在上面的示例中,OldUser正在从旧数据库读取数据,而NewUser正在处理新数据库。我需要两组模型(新的和旧的)

  3. ruby - 使用 Sinatra 时与数据库对话的最佳方式是什么? - 2

    据我了解,与Rails不同,Sinatra框架不提供ORM。在那种情况下,您如何与Sinatra应用程序中的数据库对话?还是Sinatra仅适用于不使用数据库的应用程序? 最佳答案 如果您使用的是Sinatra,我不推荐DataMapper足够高。我有几个Rails应用程序,其中我坚持使用ActiveRecord,并且我一直在诅咒它的缺点和设计缺陷。如果您使用Sinatra,DataMapper是一个非常实用的选择。require"rubygems"require"sinatra"require"datamapper"DataMap

  4. javascript - colorbox 中的 jquery-ui 对话框导致超出最大调用堆栈大小错误 - 2

    我正在使用jquery-ui,它的dialog功能可以在我的网络应用程序中显示模态对话框。它工作正常。在一个用例中,我在屏幕上有一个colorbox弹出窗口,一旦用户完成输入,我需要显示一个确认对话框。由于在我尝试过的所有主要浏览器上的错误处理,这里的一切实际上都有效,但我担心javascript引擎和浏览器的某些组合可能会导致什么问题。我得到的错误是调用堆栈大小溢出(Chrome将其显示为UncaughtRangeError:Maximumcallstacksizeexceeded.)。模态对话框的代码是:functionmodalDialog(dialogText,dialogTi

  5. javascript - AngularJs 中带有微调器的甜蜜警报对话框 - 2

    我正在尝试在sweetalert对话框中显示一个微调器,类似于Bootstrap模态对话框(http://jsfiddle.net/D6rD6/5/)我能想到的最接近的是这样的:SweetAlert.swal({title:'Importerrorsoccurred!',text:'',html:true,customClass:'manual-upload-errors-swal-width'});如果这不可能,那么最接近和最好的解决方案是什么? 最佳答案 原版sweetalert插件不支持,建议使用SweetAlert2插件。迁

  6. javascript - 带有 ionic 搜索栏焦点的 ionic 触发模式打开功能 - 单击不起作用 - 2

    我有一个ion-searchbar,单击它会打开一个模式。然而,目前click过程实际上需要两次点击,一次聚焦,一次打开模式。我试图将点击添加到它包含的ion-toolbar中,并尝试使用[disabled]="true"禁用ion-searchbar",但禁用的功能对ion-searchbar不可用。如何在无需双击的情况下触发新模式打开,并且焦点不会出现在原始搜索栏上?HTMLJSopenSearchModal(){letmyModal=this.modalCtrl.create(SearchmodalPage);myModal.present();} 最

  7. javascript - 从 IONIC 3 的 Assets 文件夹下载 CSV 文件 - 2

    我有一个demo-file.csv文件,它在assets/csv文件夹中,那么如何从手机下载它,这是我的HTML和组件代码。HTML代码DownloadDemoFile组件代码publicdownloadFile(link:any,fileName:any){if(link){letpath=null;this.showWaitingLoading();if(this.platform.is('ios')){path=this.file.documentsDirectory;}else{path=this.file.dataDirectory;}consttransfer=this.t

  8. javascript - Facebook JavaScript 发送对话框,回调函数不正确 - 2

    我正在尝试在FB.ui(发送对话框)中执行回调函数。它在加载FB.ui时同时调用,但我想在按下“发送”或“取消”按钮后执行回调函数。可以实现吗?functioncallback(response){alert('messagewassent');}FB.ui({method:'send',name:'Dialog',link:'http://***.com',redirect_uri:'****',description:'***',picture:'***',to:userId},callback(response)); 最佳答案

  9. javascript - ckeditor 插件对话框选择从所选的获取描述 - 2

    我正在为CKEDITOR开发一个占位符插件,它基本上已经完成了。我遇到的问题是,我试图从对话框中的select获取值和description,但我只获取了值。包含描述和值的数组如下所示-->项目:[['description1','value1'],['description2','value2']]在return->contents->elementswithIDdropdown我有setup和提交功能。在这些函数中,我需要像从选择选项中获取名称一样获取描述。真的需要这方面的帮助,在此先感谢示例-->description1description2例子(function(){func

  10. javascript - Meteor 的 Iron Router 不关闭模态对话框 - 2

    我正在使用Meteor和IronRouter,并且我有一个模态对话框,当它被关闭时不会隐藏背景。更准确地说,我希望在单击关闭按钮后,ironrouter将重定向到另一个页面。重定向代码确实有效,但背景仍然可见。如果我删除路由线-模式将被关闭,背景也将被关闭。这是模态框的标记:×Areyousure?Thiscannotbeundone.YesNo这是切换模态对话框的按钮:Delete这是确认模式对话框的"is"按钮上的点击事件:'click#confirm-yes-button':function(){Recipes.remove(this._id);$('#confirm

随机推荐