ionic 模态窗口
作者:秋意浓好心情
时间:2026-08-11
浏览:0
$ionicModal $ionicModal 可以遮住用户主界面的内容框。 你可以在你的 index 文件或者是其他文件内嵌入以下代码(里面的代码可以根据你自己的业务场景相应的改变)。 My Modal title Hello! 接下来,就可以在 Controller 中注入 $ionicModa
$ionicModal
$ionicModal 可以遮住用户主界面的内容框。

你可以在你的 index 文件或者是其他文件内嵌入以下代码(里面的代码可以根据你自己的业务场景相应的改变)。
接下来,就可以在 Controller 中注入 $ionicModal 了。把刚才写好的模板拿来调用,并完成初始化,具体写法如下所示:
angular.module('testApp', ['ionic'])
.controller('MyController', function($scope, $ionicModal) {
$ionicModal.fromTemplateUrl('my-modal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
});
$scope.openModal = function() {
$scope.modal.show();
};
$scope.closeModal = function() {
$scope.modal.hide();
};
//Cleanup the modal when we're done with it!
$scope.$on('$destroy', function() {
$scope.modal.remove();
});
// Execute action on hide modal
$scope.$on('modal.hidden', function() {
// Execute action
});
// Execute action on remove modal
$scope.$on('modal.removed', function() {
// Execute action
});
});
方法
fromTemplate(templateString, options)
| 参数 | 类型 | 详情 |
|---|---|---|
| templateString |
字符串
|
模板的字符串作为模态窗口的内容。 |
| options |
对象
|
options 会传递到 ionicModal#initialize方法中。 |
返回: 对象, 一个ionicModal控制器的实例。
fromTemplateUrl(templateUrl, options)
| 参数 | 类型 | 详情 |
|---|---|---|
| templateUrl |
字符串
|
载入模板的url。 |
| options |
对象
|
通过ionicModal#initialize方法传递对象。 |
返回: promise对象。Promises对象是CommonJS工作组提出的一种规范,目的是为异步编程提供统一接口。
ionicModal
由$ionicModal服务实例化。
提示:当你完成每个模块清除时,确保调用remove()方法,以避免内存泄漏。
需要注意的是,模块会在自己的初始作用域内触发 'modal.shown' 和 'modal.hidden' 两个广播事件,同时会将模块自身作为参数一并传出。
方法
initialize(可选)创建一个新的模态窗口控制器示例。
| 参数 | 类型 | 详情 |
|---|---|---|
| options |
对象
|
一个选项对象具有一下属性:
|
show()
显示模态窗口实例
- 返回值:
promisepromise对象,在模态窗口完成动画后得到解析
hide()
隐藏模态窗口。
- 返回值:
promisepromise对象,在模态窗口完成动画后得到解析
remove()
从 DOM 中移除模态窗口实例并清理。
- 返回值:
promisepromise对象,在模态窗口完成动画后得到解析
isShown()
- 返回:布尔值,用于判断模态窗口是否显示。
实例
HTML 代码
菜鸟教程(runoob.com)
Contacts
{{contact.name}}
CSS 代码
body {
cursor: url('http://www.runoob.com/try/demo_source/finger.png'), auto;
}
JavaScript 代码
angular.module('ionicApp', ['ionic'])
.controller('AppCtrl', function($scope, $ionicModal) {
$scope.contacts = [
{ name: 'Gordon Freeman' },
{ name: 'Barney Calhoun' },
{ name: 'Lamarr the Headcrab' },
];
$ionicModal.fromTemplateUrl('templates/modal.html', {
scope: $scope
}).then(function(modal) {
$scope.modal = modal;
});
$scope.createContact = function(u) {
$scope.contacts.push({ name: u.firstName + ' ' + u.lastName });
$scope.modal.hide();
};
});
作者最新文章
布局安全技术!小米汽车前机舱加强结构专利获授权
2026-08-22 15:21
苹果iPhone 11 Pro Max发布iOS 17 Beta 7_专注于优化和改进
2026-08-22 11:31
『跟着雨哥学AI』系列之四:详解飞桨框架高阶用法
2026-08-20 06:34
三星GALAXY Ace 3 (S7278)用odin刷机解锁?一键刷机解决
2026-08-19 20:14
HKC 猎鹰 SG27QC 27 英寸 2K 180Hz 曲面电竞显示器上架 到手价 899 元
2026-08-19 15:19
上一篇:
ionic 导航
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































