我们知道平常jquery实现显示和隐藏的时候,只要在监听click的时候使用.toggle(".displayno"),如果页面已经存在隐藏类displayno,那么就移除隐藏类,将div块显示出来,否则添加隐藏类,将div块隐藏。或者使用show()+hide()方法来实现。
但是,在angular插件里面,到处都是用数据绑定来实现对应的功能,那么到底是怎么实现的呢?接下来直接上源码:
<div class="Box m3 no-shadow no-margin no-pad"> <span class="title" ng-click="Digest_show()">乡村简介<span ng-class="{'right' : Digest_show_hide_val,'right arrow-down' : !Digest_show_hide_val}"></span></span> <span class="txt paddingBottom100" ng-if="Digest_show_hide_val"> <div> 12345678987654321 </div> </span> </div>
首先,
通过ng-if="Digest_show_hide_val"来控制内容的显示与否,
一开始Digest_show_hide_val=true,angular就会往html里面添加<div>12345678987654321</div>。然后Digest_show_hide_val=false,angular就好移除<div>12345678987654321</div>这串字符串。
然后通过ng-click="Digest_show()"执行函数将Digest_show_hide_val的值取反。
js源码部分:
$scope.Digest_show_hide_val=true;//默认简介是展开状态 $scope.Digest_show=function(){ $scope.Digest_show_hide_val=!$scope.Digest_show_hide_val; }
最终展示效果如下:
默认显示的情况下
点击乡村简介的滑块,内容收缩起来