/**
*
*
* 初始化:
* var oneModal = modalSvc.createModal(templateUrl, controller, size);
* size可以是:lg或sm
*
* 打开modal并传递数据
* oneModal.show(params);
* 通过参数params可以向modal中传递数据
* <span>{{params.title}}</span>
*
*
* 通过完成事件获得结果
* function onModalComplete(result) {
* }
* oneModal.show(params).then(onModalComplete);
* 其中result 就是modal关闭时的结果,也是hide函数传回的值: hide(result)
* 如果通过其他方式关闭modal,也会调用onModalComplete,但result为undefined
*
*
* 关闭modal
* oneModal.hide(result)
* result作为modal的结果,传回调用者
*
*
* 在模板中关闭modal
* <button ng-click="hide(true)">OK</button>
* <button ng-click="hide()">Cancel</button>
*
*/
angular.module('nCloud.bootstrapModalSvc', ['ui.bootstrap'])
.factory('bootstrapModalSvc', [
'$q', '$rootScope', '$uibModal'
, function ($q, $rootScope, $uibModal) {
function createModal(templateURL, controller, size) { var modalService = {
scope: undefined,
modalWindow: undefined, show: function (params) {
this.scope = $rootScope.$new();
this.scope.params = params;
this.scope.hide = function (result) {
this.$close(result);
}; this.modalWindow = $uibModal.open({
templateUrl: templateURL,
scope: this.scope,
controller: controller,
size: size
}); var q = $q.defer();
this.modalWindow.result.then(
function (result) {
q.resolve(result);
},
function (reason) {
q.resolve();
}
);
return q.promise;
}, hide: function (result) {
if (this.modalWindow) {
this.modalWindow.close(result);
}
}
}; return modalService;
} return {createModal: createModal};
}
])
;

如果未使用uiBootstrap,将$uibModal换为$modal

页面modal服务的更多相关文章

  1. varnish页面缓存服务

    varnish页面缓存服务 https://www.cnblogs.com/L-dongf/p/9310144.html http://blog.51cto.com/xinzong/1782669 阅 ...

  2. 结合实际需求,在webapi内利用WebSocket建立单向的消息推送平台,让A页面和服务端建立WebSocket连接,让其他页面可以及时给A页面推送消息

    1.需求示意图 2.需求描述 原本是为了给做unity3d客户端开发的同事提供不定时的消息推送,比如商城购买道具后服务端将道具信息推送给客户端. 本篇文章简化理解,用“相关部门开展活动,向全市人民征集 ...

  3. iView页面Modal中内嵌Tabs,重新显示Modal时默认选中Tabs的第一项

    文档中说激活面板的name用value,页面第一次加载的时候可以,放在modal里就不好使了,每次打开的时候总显示上一次离开时的界面. 真正能用的是 this.$refs.tabs.activeKey ...

  4. 页面的日志服务 web页面渲染 服务 ; 服务耦合带来的问题

    情景: 虽然对web服务做了3节点的负载均衡,但是由于埋点数据的落盘的代码也在相同服务器上,导致当flume处理日志的吞吐量达到瓶颈时,3节点的请求积压,挤占服务器资源,导致接口数据处理迟缓,页面加载 ...

  5. MVC3: 页面向服务传参(view->controller,get,post)

    HttpGet HttpPost GetPost 总结比较 ajax get post 1)HttpGet Get是http请求的默认形式.拿MVC官方教程Movie项目举例如下. 编辑页面  Vie ...

  6. 提供 web前端、H5、html页面 技术服务

    如有前端页面的需求请在评论区留言  第一时间进行回复

  7. 详解react/redux的服务端渲染:页面性能与SEO

        亟待解决的疑问 为什么服务端渲染首屏渲染快?(对比客户端首屏渲染)   react客户端渲染的一大痛点就是首屏渲染速度慢问题,因为react是一个单页面应用,大多数的资源需要在首次渲染前就加载 ...

  8. 【redux】详解react/redux的服务端渲染:页面性能与SEO

        亟待解决的疑问 为什么服务端渲染首屏渲染快?(对比客户端首屏渲染)   react客户端渲染的一大痛点就是首屏渲染速度慢问题,因为react是一个单页面应用,大多数的资源需要在首次渲染前就加载 ...

  9. 使用Java+NetBeans设计web服务和页面,用Tomcat部署网页

    一 安装NetBeans(自动安装jdk) 二 创建服务器 三 发布服务 一 安装NetBeans(自动安装jdk) 进入oracle的下载界面: http://www.oracle.com/tech ...

随机推荐

  1. [转载]SQL Server内核架构剖析

    原文链接:http://www.sqlserver.com.cn 我们做管理软件的,主要核心就在数据存储管理上.所以数据库设计是我们的重中之重.为了让我们的管理软件能够稳定.可扩展.性能优秀.可跟踪排 ...

  2. vim复制多行<转>

    比如我要复制从第1行到第5行的数据,复制到第9行 光标移到第5行任意位置,输入ma光标移到第1行任意位置,输入y'a(这一定要打这个“'”单引号,否则就进入“INSERT”状态了光标移到需要复制的行, ...

  3. 初步认识pg_control文件之一

    这个据说是PostgreSQL的control file. 到底如何呢,先看看改名后如何,把pg_control文件改名,然后启动 Postgres,运行时得到信息: [postgres@pg101 ...

  4. DropdownList绑定的两种方法

    动态绑定方法一:动态绑定数据库中的字段. SqlConnection conn = UtilitySqlClass.OperateDataBase.ReturnConn();string strSQL ...

  5. 给eclipse装一些插件

    最近换了一个环境,需要折腾一个新的eclipse配置,所以在这里记录下. 1.安装marketplace help=>install,输入地址:http://download.eclipse.o ...

  6. JQueryMobile页面跳转参数的传递解决方案

    在JQueryMobile开发手机端应用使用可能需要考虑相关的页面跳转带来的参数问题.因为JQueryMobile其实也是HTML5实践的结果.HTML5中有localStorage和sessionS ...

  7. C++进制转换(十进制转二进制、八进制、随意进制)

    十进制转二进制: //十进制转二进制 #include<iostream> using namespace std; void printbinary(const unsigned int ...

  8. [Express] Level 5: Route Instance -- refactor the code

    Route Instance Let's rewrite our cities routes using a Route Instance. Create a new Route Instance f ...

  9. GridView编辑删除操作

    第一种:使用DataSource数据源中自带的编辑删除方法,这样的不经常使用,在这里就不加说明了. 另外一种:使用GridView的三种事件:GridView1_RowEditing(编辑).Grid ...

  10. 查询记录时rs.previous()的使用

    查询记录时rs.previous()的使用 假如查询一个数据表,假设没有记录就显示提示信息,有就所有显示出来查询结果.这时假设是有查询结果的话就须要进行两次查询,第一次查完记录指针指向最后一条记录,開 ...