您的位置:首页 >ionic 模态窗口
发布于2026-08-11 阅读(0)
扫一扫,手机访问
$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服务实例化。
提示:当你完成每个模块清除时,确保调用remove()方法,以避免内存泄漏。
需要注意的是,模块会在自己的初始作用域内触发 'modal.shown' 和 'modal.hidden' 两个广播事件,同时会将模块自身作为参数一并传出。
initialize(可选)创建一个新的模态窗口控制器示例。
| 参数 | 类型 | 详情 |
|---|---|---|
| options |
对象
|
一个选项对象具有一下属性:
|
show()
显示模态窗口实例
promise promise对象,在模态窗口完成动画后得到解析hide()
隐藏模态窗口。
promise promise对象,在模态窗口完成动画后得到解析remove()
从 DOM 中移除模态窗口实例并清理。
promise promise对象,在模态窗口完成动画后得到解析isShown()
菜鸟教程(runoob.com)
Contacts
{{contact.name}}
body {
cursor: url('http://www.runoob.com/try/demo_source/finger.png'), auto;
}
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();
};
});
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9