之前使用jQuery的slidetoggle
方法,可以轻易的实现元素的收缩展开;使用Angularjs后,没有找到相关的方法,通过多方面查资料,自己写了个demo,展示slidetoggle
的Angularjs写法:
html
1 | <div ng-controller="ctrl_main"> |
控制器ctrl_main
1 | app.controller('ctrl_main', function ($scope) { |
指令drtv_slidetoggle
1 | app.directive('slideToggle', function() { return { |
运行效果:
点击其他人名,也是一样的。
总体思路就是编写指令,通过改变指令的值,来控制当前元素的收缩展开。
===不用Requirejs的同学就可以不往下看了===
【PS】将该指令用Requirejs封装成指令模块,引用就可以在你的项目中使用了;
Requirejs封装的指令模块,新建js, 命名为drtv_slidetoggle.js:
1 | define(['app','jquery'], function (app) { |
在启动app时候调用:
1 | require(['angular','domReady!','ctrl_main','drtv_slidetoggle'], function (angular) { |