Angular.js实现折叠按钮的经典指令(亲测OK)

var expanderModule=angular.module('expanderModule',[])
expanderModule.directive('expander',function(){
      return{
            restrict:'EA',
            replace:true,
            transclude:true,
            scope:{
                title:'=expanderTitle'
            },
            template:'<div>'+'<div class="title" ng-click="toggle()">{{title}}</div>'
            +'<div class="body" ng-show="showMe" ng-transclude></div>'+'</div>',
            link:function(scope,element,attrs){
               scope.showMe=false;
               scope.toggle=function toggle(){
                  scope.showMe=!scope.showMe;
               }
            } 
      }
});
expanderModule.controller('SomeController',function($scope){
      $scope.title='点击展开';
      $scope.text='这里是内部的内容';
});
<!DOCTYPE html>
<html lang="en" ng-app='expanderModule'>
<head>
  <meta charset="UTF-8">
  <title>Angular.js</title>
</head>
<style type="text/css">
        .expander {
            border: 1px solid black;
            width: 250px;
        }

        .expander>.title {
            background-color: black;
            color: white;
            padding: .1em .3em;
            cursor: pointer;
        }

        .expander>.body {
            padding: .1em .3em;
        }
</style>
<body>     
      <div ng-controller='SomeController'>
              <expander class='expander' expander-title='title' ng-cloak>
                      {{text}}

              </expander>         
 

      </div>
     
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="Angular.js"></script>
<script src="angular-route.js"></script>
<script type="text/javascript" src="test.js"></script>
</body>
</html>

内容不是我写,我只是搬运工!

原文:http://www.cnblogs.com/kangshuai/p/5841783.html

转载于:https://www.cnblogs.com/zhawei/p/6560634.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值