详解如何将angular-ui的图片轮播组件封装成一个指令

详解如何将angular-ui的图片轮播组件封装成一个指令

本篇文章主要介绍了如何将angular-ui的图片轮播组件封装成一个指令 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在项目开发中我们经常会遇到图片轮播的功能点:

如果我们开发人员自己原生手写,将会花费很多的时间,最终得不偿失。

接下来就详细说说如何使用angular-ui发热图片轮播模块,并且将它写成一个指令(便于复用)

一如既往的我们项目中使用时requireJS进行js代码的编译

准备工作:

 1):引入angularJS , ui-bootstrap-tpls-1.3.2(我使用的是1.3.2版本的)

第一步:自己写一个指令(命名为picchange)

说明:指令控制器中的代码都是angualr-ui官网上拷贝的(因为此文章的重点是如何将其封装成指令,其他的不做重点)

指令的js代码

 define(['app'],function(myapp){ myapp.directive('picchange',[function(){ return { scope:{ picurl:'=', }, controller:['$scope',function($scope){ $scope.myInterval = 5000;//轮播的时间间隔 $scope.noWrapSlides = false;//是否循环轮播 $scope.active = 0;//起始所显示的图片(0:下标为0的图片) var slides = $scope.slides = [];//用于存放图片地址 var currIndex = 0; $scope.addSlide = function() { var newWidth = slides.length + 1; slides.push({ image: $scope.picurl[newWidth].imgUrl,//图片的url text: $scope.picurl[newWidth].wordDes,//图片的描述文字 id: currIndex++ }); }; //................随机........... $scope.randomize = function() { var indexes = generateIndexesArray(); assignNewIndexesToSlides(indexes); }; for (var i = 0;i<$scope.picurl.length;i++) { $scope.addSlide(); } // Randomize logic below function assignNewIndexesToSlides(indexes) { for (var i = 0, l = slides.length; i 

好了上面的代码都是拷贝来的,不做解释

轮播模块的html:(picchange.html),指令的html(这个没啥理解的)

指令的html

 
Interval, in milliseconds:
Enter a negative number or 0 to stop the interval.
 

到此为止关于指令的封装已经完成,接下来是如何使用的问题:

(1)有一个页面要用到此指令:(命名为test.html)

 

图片的轮播

test.html对应的控制器:(idea_test_ctrl)

 define(['app','directives/picchange/picchange'],function(myapp){ myapp.controller('idea_test_ctrl',['$scope',function($scope){ console.log("this is idea_test_ctrl 的控制器"); $scope.img=[//img是一个对象,其中包含了图片的地址,以及文字描述 {imgUrl:'images/test/1.webp',wordDes:'this is good pic'}, {imgUrl:'images/test/2.webp',wordDes:'这是一张很好看的图片'}, {imgUrl:'images/test/3.webp',wordDes:'it is good pic'} ]; }]); }); 

这里给出我的路由配置,便于大家理解:

 .state('home.ideas.test', {//(测试) url: '/test', views: { "part": { templateUrl: 'tpls/ideas/test.html', controller:"idea_test_ctrl" } } })  

 到此已经讲解完;

ui-bootstrap的地址:http://angular-ui.github.io/bootstrap/versioned-docs/1.3.2/

以上就是详解如何将angular-ui的图片轮播组件封装成一个指令的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读

    设计电脑系统封装|电脑系统封装教程

    设计电脑系统封装|电脑系统封装教程,,电脑系统封装教程不是的,只是虚拟机比较方便。物理机也可以的,只是要通过外界启动来ghost系统。 办法

    设置白天指令|切换白天模式的指令

    设置白天指令|切换白天模式的指令,,1. 切换白天模式的指令泰拉瑞亚的白天想要挑强调调就是时间,想要调到白天的话,第一个你要去点击设置当中

    csgo高手快捷键|csgo快捷键指令

    csgo高手快捷键|csgo快捷键指令,,1. csgo快捷键指令反恐精英全球攻势游戏中,死亡竞赛的回合时间60分钟:mp_roundtime 60,休闲/竞技模式的每局

    dota2打电脑指令|dota1打电脑指令

    dota2打电脑指令|dota1打电脑指令,,1. dota1打电脑指令你打电脑Ai 首先就是模式-ap 全英雄选择-rd 随机英雄征召选择-random 就是给你随机

    电脑cpu指令大全|电脑cpu指令集

    电脑cpu指令大全|电脑cpu指令集,,电脑cpu指令集CPU芯片是微机硬件系统的核心,又称微处理器芯片,其中包括控制器、运算器和寄存器组。1、控制

    怎么设置锁屏|怎么设置锁屏小组件

    怎么设置锁屏|怎么设置锁屏小组件,,怎么设置锁屏小组件处理方法:1、打开top widgets,在中号小组件里找到 “快捷启动”2、快捷启动可以自定

    速度编写快捷键|如何编写快捷指令

    速度编写快捷键|如何编写快捷指令,,1. 如何编写快捷指令在使用手机时,如果想要使用快捷指令,该如何操作呢?下面来看看。方法/步骤1/4 在手机