有的时候 在一些页面中 我们会需要用到弹出的模态框,这里主要是使用angularjs的uimodel。

页面效果如下:

首先我们需要在JS的controller中导入$uibModal模块。

HTML

<div>
<button class="btn" ng-click="openModel(photoId)">打开模态</button> <script type="text/ng-template" id="addPhoto.html">
<div class="modal-header">
<h3 class="modal-title">图片展示</h3>
</div>
<div class="modal-body">
<img ng-src="{{photoUrl}}" style="max-width:500px;max-height:500px;margin:0 auto;display:block;" />
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">
{{'help.ok' | translate}}
</button>
<button class="btn btn-warning" ng-click="cancel()">{{'help.cancel' | translate}}</button>
</div>
</script> </div>

JS

myapp.controller('xxxCtrl', function ($scope, $state, $http, $stateParams,$uibModal) {
//打开模态的按钮事件
$scope.openModel=function(photoId){ var modalInstance = $uibModal.open({ templateUrl : 'addPhoto.html',
controller : 'addPhotoContrl',
//模态的尺寸
size : 'lg',
//传递的参数
resolve : {
photoId: function(){
return photoId;
}
}
})
//关闭模态执行的事件
modalInstance.result.then(function () { xxxxx;
}); } })
myapp.controller('addPhotoContrl', function ($scope, $state, $http, $stateParams,$uibModalInstance,photoId) { //获取图片url photoId是作为参数传递进来的
$http.get('getPhotoUrl'+photoId)
.success(function(data){
$scope.photoUrl=data;
}) $scope.ok = function () {
//关闭模态并且执行事件
$uibModalInstance.close();
};
$scope.cancel = function () {
//只关闭模态
$uibModalInstance.dismiss('cancel');
};
})

PS:

有的 时候模态框会根据数据长度变长 导致在一个页面内看不全所有的模态框信息,这个时候就需要给模态框加上滚动条。

如图:

如此需要在 class  modal-body   后加入css:

.addoverflow{
overflow-y: scroll;
height: 450px;
}

如此就加入垂直的滚动条,水平的滚动条同理可以加入。 使用overflow-x属性。

												

关于angularjs的model的一些问题的更多相关文章

  1. AngularJS开发指南11:AngularJS的model,controller,view详解

    model model这个词在AngularJS中,既可以表示一个(比如,一个叫做phones的model,它的值是一个包含多个phone的数组)对象,也可以表示应用中的整个数据模型,这取决于我们所讨 ...

  2. AngularJS中Model和Controller传值问题

    最近由于工作原因,开始写点前端的东西.前两天刚开始了解AngularJS这门技术,当然,新手免不了会爬坑! 今天分享一篇关于--> 模型传参给Controller的实例: 需求: 具体是  首先 ...

  3. Play1+angularjs+bootstrap ++ (idea + livereload)

    我的web开发最强组合:Play1+angularjs+bootstrap ++ (idea + livereload) 时间 2012-12-26 20:57:26  Freewind.me原文   ...

  4. AngularJS入门教程1--配置环境

    首先需要下载AngualrJS,下载地址 https://angularjs.org/ 官方网站提供2种下载使用AngularJS方法: 1. 去GitHub下载 ,点击按钮会跳转到GitHub页面, ...

  5. 桂电在线_微信公众平台开发之-运用angularjs显示学校公告新闻列表和详情页面

    折腾angularjs的感悟 几天折腾,总的来说看了很多博客,要么不是最新的技术文档,要么写得不够完整,因为别人是基于他们的理解写的技术博客代码不一定会贴完整,所以一旦你用的是最新的想要看完整的实例就 ...

  6. 初学者---AngularJS详解

    AngularJS 简介 AngularJs是一个用于设计动态web应用的结构框架.首先,它是一个框架,不是类库,提供一整套方案用于设计web应用.它不仅仅是一个javascript框架,因为它的核心 ...

  7. 一个非常好用的框架-AngularJS(一)

      前  言           AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.An ...

  8. AngularJS [ 快速入门教程 ]

      前  序 S    N AngularJS是什么? 我想既然大家查找AngularJS就证明大家多多少少对AngularJS都会有了解. AngularJS就是,使用JavaScript编写的客户 ...

  9. AngularJS的运用

      前  言 JRedu AngularJS[1]  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.A ...

随机推荐

  1. GlusterFS分布式文件系统部署

    GlusterFS是一个可伸缩的网络文件系统,使用常见的现成的硬件,您可以创建大型分布式存储流媒体解决方案.数据分析.和其他数据相关的任务.GlusterFS是自由和开源软件. 详细参考官网:http ...

  2. 高效重构 C++ 代码

    引言 Martin Fowler的<重构:改善既有代码的设计>一书从2003年问世至今已有十几年时间了,按照计算机领域日新月异的变化速度,重构已经算是一门陈旧的技术了.但是陈旧并不代表不重 ...

  3. yolo.v2 darknet19结构

    Darknet19( (conv1s): Sequential( (0): Sequential( (0): Conv2d_BatchNorm( (conv): Conv2d(3, 32, kerne ...

  4. 模式识别hw2-------基于matconvnet,用CNN实现人脸图片性别识别

    主要来源模式识别课程大作业,本文首先感谢当初的助教和一起完毕作业的队友 matconvnet在matlab下封装了CNN常见算法,网址http://www.vlfeat.org/matconvnet/ ...

  5. Elasticsearch教程(六) elasticsearch Client创建

    Elasticsearch  创建Client有几种方式. 首先在 Elasticsearch  的配置文件 elasticsearch.yml中.定义cluster.name.如下: cluster ...

  6. 【HTML 元素】嵌入另一张HTML文档、通过插件嵌入内容、嵌入数字表现形式

    1.嵌入另一张HTML文档 iframe 元素允许在现有的HTML文档中嵌入另一张文档.下面代码展示了iframe元素的用法: <!DOCTYPE html> <html lang= ...

  7. Beautiful Soup 4.4.0 基本使用方法

    Beautiful Soup 4.4.0 基本使用方法Beautiful Soup 安装 pip install  beautifulsoup4 标准库有html.parser解析器但速度不是很快一般 ...

  8. 【JavaScript】【PPT】继承的本质

    ※文件引自OneDrive,有些人可能看不到

  9. Android学习(二十)Notification通知栏

    一.通知栏的内容 1.图标 2.标题 3.内容 4.时间 5.点击后的相应 二.如何实现通知栏 1.获取NotificationManager. 2.显示通知栏:notify(id,notificat ...

  10. JAVA学习第四十八课 — IO流(二):文件的复制 &amp; 缓冲区1

    一.复制文本文件 将G盘的文本文件拷贝到D盘上 也就是 读取G盘中文本文件的数据.写入D盘中->连读带写 而剪切呢.就是连读带写后,删除原盘的文件 <span style="fo ...