angularjs 的一个图片列表指令

这是一个基于angulsrjs 和bootstrap样式的图片列表指令

js部分代码如下

	var app=angular.module("test",["bane/image/showgrid.html"])
	.directive("baneImggrid",function(){
		return {
			    restrict:'EA',
				transclude: true,
				replace: false,
				//templateUrl: "template/image(1).html",
				templateUrl:"bane/image/showgrid.html",
				scope:{
						baneItems:'=',
						smSrc:'@',
						orgSrc:'@',
						radioText:'@',
						radioValue:'@',
						radioShow:'=',
						deleteShow:'=',
						selectItem:'=',
						itemDelete:'=',
						//beforeDelete:'&'
					},
				link:function(scope, element, attrs,contr){
						scope.selectItem={"cover":""};
						scope.orgSrc=(scope.orgSrc?scope.orgSrc:scope.smSrc);
						scope.smSize={};
						if(attrs.smWidth){
							scope.smSize.width=attrs.smWidth;
							}
						if(attrs.smHeight){
								scope.smSize.height=attrs.smHeight;
							}
						scope.showBigBox=function(index){
								scope.baneItems[index].baneBigImageShow=true;
							}
						scope.closeBox=function(index){
								scope.baneItems[index].baneBigImageShow=false;
							}
						scope.deleteItem=function(index){
								scope.itemDelete=scope.baneItems[index];
								//scope.beforeDelete();
								scope.baneItems.splice(index, 1);
							}
					}
			}
		});

angular.module("bane/image/showgrid.html", []).run(["$templateCache", function($templateCache) {
  $templateCache.put("bane/image/showgrid.html",
	'<div class="col-xs-6 col-md-3" style="width:auto; " ng-repeat="item in baneItems ">'+
	'    <div class="thumbnail" style="cursor:pointer;position:relative;"  >'+
	'    	<img ng-src="{{item[smSrc]}}"  ng-style="smSize" ng-click="showBigBox($index)"/> '+
	'    	<div style=" position:absolute; bottom:4px;background: rgba(225,225,225,0.5); right: 4px;left: 4px; text-align:right;">'+
	'        	<span style="float:left;" ng-show="radioShow"><input type="radio"  ng-model="selectItem.cover"  value="{{item[radioValue]}}" /><label>{{radioText}}</label></span>'+
	'            <i class="glyphicon glyphicon-search" ng-click="showBigBox($index)" style="margin: 2px 5px;"></i>'+
	'            <i class="glyphicon glyphicon-trash" ng-click="deleteItem($index)" style="margin: 2px 5px;" ng-show="deleteShow"></i>'+
	'        </div>'+
	'    </div>'+
	'    <div class="modal fade bs-example-modal-lg in" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="false" style=" padding-right: 15px; display:block" ng-show="item.baneBigImageShow">'+
	'		<div class="modal-backdrop fade in"></div>'+
	'    		<div class="modal-dialog modal-lg" style="z-index:1100;">'+
	'      			<div class="modal-content">'+
	'        			<div class="modal-header">'+
	'          				<button type="button" class="close" data-dismiss="modal" ng-click="closeBox($index)"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>'+
	'        			</div>'+
	'        		<div class="modal-body" style="text-align:center;">'+
	'       		 		<img ng-src="{{item[orgSrc]?item[orgSrc]:item[smSrc]}}" style="max-width:100%;"/>'+
	'        		</div>'+
	'      		</div>'+
	'    	</div>'+
	'  	</div>'+
	'</div>'
	);
}]);

demo下载

时间: 2024-10-27 19:27:48

angularjs 的一个图片列表指令的相关文章

实现一个最简单图片列表所引发的问题

前一阵看了些Universal-Image-Loager的源码.我觉得看源码很累的一个原因就是除了看怎么实现,就是去揣测为什么这么实现.这个揣测的过程很容易走马观花,看到后面似懂非懂. 人懒到一个地步一句话来说是能躺着就绝对不坐着,能坐着就绝对不蹲着,能蹲着就绝对不站着.有时候看源码也是,能看懂就不会想着去debug,debug能看明白的就懒得去动手写写. 看和写的感受是不一样的.看的是结果,写的是过程. 第三方库的使用让开发变得很方便,大量图片请求的实现,大多数不再是说实现的核心,而是直接说使

基于ionic框架封装一个图片轮播指令的几点

在这里我想在项目中封装一个图片轮播的指令 (本项目使用的是ionic框架) 1)定义指令 define(['app'],function(myapp){ myapp.directive('myslidebanner',['$state',function(s){ return{ templateUrl:'directives/slide-banner/slide-banner.html', scope:{ banimg:'=',//数据的来源 }, link:function(s,el,atr)

【AngularJS学习笔记】01 指令、服务和过滤器

AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. 比如: ng-app 指令初始化一个 AngularJS 应用程序.注意ng-app一般为空,如果值不为空,就得加这样一句代码var app = angular.module('名字', []); ng-init 指令初始化应用程序数据. 这个在之前已经说过了,下面讲一下之前没讲到的. ng-repeat指令与ng-options指令 <!--一般ng-repeat通常用于ul与li这种列表和表格--> <div ng

AngularJS - 下一个大框架

AngularJS AngularJS是web应用的下一个巨头. AngularJS如果为创建web应用而设计,那它就是HTML的套路了.具有数据绑定, MVW, MVVM, MVC, 依赖注入的声明式模板和出色的可测试性都是用纯客户端 JavaScript来实现的! AngularJS 是一个创建富客户端应用的JavaScript MVC框架,它组织良好,经过严格测试,多功能,强大并且十分灵活.你仍然需要具有服务端后台,但大多数的用户交互逻辑将优雅地放到客户端上处理. AngularJS是一个

AngularJS开发指南4:指令的详解

指令是我们用来扩展浏览器能力的技术之一.在DOM编译期间,和HTML元素关联着的指令会被检测到,并且被执行.这使得指令可以为DOM指定行为,或者改变它. AngularJS有一套完整的.可扩展的.用来帮助web应用开发的指令集,它使得HTML可以转变成“特定领域语言(DSL)”. 指令可以做为HTML中的元素名,属性名,类名,或者注释.下面是一些等效调用myDir指令的例子: <span my-dir="exp"></span> <span class=&

[读码时间] 图片列表:鼠标移入/移出改变图片透明度

说明:代码来自网络.注释为笔者学习时添加. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>图片列表:鼠标移入/移出改变图片透明度</title> <style> ul,li{ /*去除内外边距,去除列表默认样式*/ margin:0; padding:0; list-style-type:none; } #imgList{ /

非等宽图片列表的布局

各大搜索引擎的图片频道的搜索结果页,搜索出来的结果都是较零碎的图片,图片质量.尺寸都是参差不齐的,并限定了每一行的总宽度.这种非等宽的图片列表,在Google+.flickr也都有用到. 最近刚好对360搜索的图片搜索结果页进行了一次重构和改版,对于这种图片布局也花心思研究了一番,接下来说说我的一些处理思路. 非等宽的单个图片要排列到一个固定了宽度的容器中,那么这个等宽的容器就是最大的限制和障碍,开始怀念那种常见等宽瀑布流的布局(没有限制真好). 先理下基本的需求: 1.图片的宽度是不固定的:

WP8_区分滑动和点击(在图片列表中)

在windows phone中,对于一个页面中 有图片列表的,滑动的时候,很容易被误认为是点击了图片,而打开图片详细信息等,原意是滑动列表,由此对图片添加2个事件,来控制其点击行为(滑动的时候,基本不会执行到do clicked something处)   private bool _isClickEnable = false; private DateTime _clickedTime;   private void Img1_OnMouseLeftButtonDown(object send

VUE2.0+VUE-Router做一个图片上传预览的组件

之前发了一篇关于自己看待前端组件化的文章,但是由于学习和实践的业务逻辑差异,所以自己练习的一些demo逻辑比较简单,打算用vue重构现在公司做的项目,所以在一些小的功能页面上使用vue来做的,现在写的这个是项目中用户反馈功能而来的,收获还是挺多的. 收获:dom操作=>数据操作       router的使用       组件的使用,具体总结放在尾部. 功能:1.上传图片 2.显示缩略图 3.可以删除 4.可以重新选择文件 先上成品图(主要抽取图片这块),自己在家主要做的功能,样式就不计较了.