基于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){
s.$watch('banimg',function(picList){
//在这里,我使用的了,$watch监听banimg,原因就是banimg的数据是来自于数据
//库,这就会造成页面渲染结束,数据还没有取到的尴尬现象
if(picList)
s.picList=picList;
});
s.showbaner=atr.showbaner;//atr是使用指令的元素的属性集合
},
controller:['$state','$scope',function($state,s){
}]
}
}]);
});
指令的模板页面:
<div class="index-banner">
<!--<img ng-src="img/deal/home/banner.png" style="width:100%;">-->
<div ng-if="!showbaner">
<div style="left: 0px; transition-duration: 300ms; transform: translate(0px, 0px) translateZ(0px);">
<a class="box">
<img ng-src={{banimg[0].imgdomin+banimg[0].imgid}} style="height:305px">
</a>
</div>
</div>
<div class="app_index_slide" ng-if="showbaner">
<ion-slide-box class="app_index_slide" does-continue="true" auto-play="true"
on-slide-changed="slideChanged($index)"
delegate-handle="slideimgs"
>
<ion-slide ng-repeat="item in picList track by $index">
<!--href="#/tab/ad_linkurl?url={{item.LinkUrl}}&title={{item.Title}}"-->
<a class="box" style="display:block" ui-sref="tab.deal_ad_linkurl({url:item.link,title:item.title})"><img
ng-src={{item.imgdomin+item.imgid}}></a>
</ion-slide>
</ion-slide-box>
</div>
2)指令的使用
<myslidebanner banimg="banimg" showbaner="{{showbaner}}">
<!--解释:banimg定义成‘=’的形式,在使用时候,是直接用双引号就行,不需要使用{{}},banimg的数据来源于页面控制器中调用接口返回数据来源-->
</myslidebanner>
指令中的controller,和link函数在一些情况下是可以相互代替的。
我们完全可以将link函数换成controller
定义时的独立作用域:
scope:{
banimg:'=',
showbaner:'='
}
controller:["$scope",'$state',function(s,$state){
s.$watchGroup(['banimg','showbanner'],function(picList,showbaner){
if(picList)
s.picList=picList;
s.showbaner=true;
});
}]
使用的时候:
<myslidebanner banimg="banimg" showbaner="showbaner">
</myslidebanner>
基于ionic框架封装一个图片轮播指令的几点的更多相关文章
- iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- Angular2组件与指令的小实践——实现一个图片轮播组件
如果说模块系统是Angular2的灵魂,那其组件体系就是其躯体,在模块的支持下渲染出所有用户直接看得见的东西,一个项目最表层的东西就是组件呈现的视图.而除了直接看的见的躯体之外,一个完整的" ...
- 基于jQuery可悬停控制图片轮播代码
基于jQuery可悬停控制图片轮播代码.这是一款可悬停切换全屏轮播jQuery幻灯片.效果图如下: 在线预览 源码下载 实现的代码: <!-- 轮播广告 --> <div id= ...
- 实现一个图片轮播-3d播放效果
前言:最近在做一个音乐播放器,首页要做一个图片轮播,看了bootstrap的carousel插件以及移动端的swipe.js库,都是平面图片轮播的效果,所以自己想着实现类似网易云app里那种3d图片轮 ...
- Android中使用开源框架android-image-indicator实现图片轮播部署
之前的博文中有介绍关于图片轮播的实现方式,分别为(含超链接): 1.<Android中使用ViewFlipper实现屏幕切换> 2.<Android中使用ViewPager实现屏幕页 ...
- Vue学习—Vue写一个图片轮播组件
1.先看效果: 熟悉的图片轮播,只要是个网站,百分之90以上会有个图片轮播.我认为使用图片轮播. 第一可以给人以一种美观的感受,而不会显得网站那么呆板, 第二可以增加显示内容,同样的区域可以显示更多内 ...
- VUE开发一个图片轮播的组件
完成效果图如下: vue开发的思路主要是数据绑定,代码如下: <template> <div ref="root" style="user-select ...
- onethink插件二(首页图片轮播)
2014年8月1日 15:34:15 基于slice-box 写了一个图片轮播的插件. 一.功能: 1.图片轮播功能 2.自定义功能(数量,效果,打开方式) 3.多重效果一键切换 4.独立性强,不影响 ...
- 基于面向对象的图片轮播(js原生代码)
无论你想走多远,你都需要不断地走下去.前端最精华的便是原生的js,这也是我们前端工程师的技术分层的重要指标,也提现这你的代码能力,开发的水平.废话不多说,进入今天的主要分享————基于面向对象思想的图 ...
随机推荐
- QT分析之WebKit
该文章整理自 网易博客 http://blog.163.com/net_worm/blog/static/12770241920101831312381/ 转载请注明出处 WebKit是QT4新整合的 ...
- learning uboot support web http function in qca4531 cpu
reference :https://forum.openwrt.org/viewtopic.php?id=43237 reference :http://blog.chinaunix.net/uid ...
- json 与字符串相互转换,
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- 第n次考试
题目: 1.堆方块 [题目描述] 给定N个方块,排成一行,将它们编号1到N. 再给出P个操作: M i j表示将i所在的那一堆移到j所在那一堆的顶上. C i表示一个询问,询问i下面有多少个方块. ...
- L1-008 求整数段和
给定两个整数A和B,输出从A到B的所有整数以及这些数的和. 输入格式: 输入在一行中给出2个整数A和B,其中−,其间以空格分隔. 输出格式: 首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字 ...
- winform 窗体换皮肤,IrisSkin2.dll的用法
1. 先把IrisSkin2.dll文件添加到当前项目引用(解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin2.dll文件.....之后就不用我 ...
- C#并行开发_Thread/ThreadPool, Task/TaskFactory, Parallel
大家好,本次讨论的是C#中的并行开发,给力吧,随着并行的概念深入,哥也赶上这个潮流了,其实之前讨论C#的异步调用或者C#中BeginInvoke或者Invoke都已经涉及了部分本篇的内容. 参考书目: ...
- 玩转TypeScript(引言&文章目录) --初看TypeScript.
JavaScript过去一直被当作一种玩具语言存在,直到2005年以后,这门语言又开始活跃并可以说是火爆,而且随着浏览器版本的不断升级和完善,各种DOM之间的兼容性已经渐渐的被各种技术解决了,比如经典 ...
- 获奖感言和C语言的学习心得
获奖感言和C语言的学习心得 自我介绍: 大家好,我的名字叫袁忠,我来自湖南,今年快19岁了,现在是大学一年级,我平时喜欢跑步.打羽毛球,我也喜欢学算法与数学,以及喜欢看一些与计算机有关的书籍,每次我学 ...
- 原生js实现数据的双向绑定
原生js实现数据的双向绑定 需要了解的属性是原色js的Object.definePrototype(obj,pop,descript); obj:被构造的对象 pop:被构造的对象的属性,创建对象或修 ...