angularUI之accordion的用法

这是官网上的一段代码:

<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
    <meta charset="UTF-8">
    <title>accordion_demo</title>
    <script type="text/javascript" src="js/angular.min.js"></script>
    <script type="text/javascript" src="js/angular-animate.min.js"></script>
    <script type="text/javascript" src="js/ui-bootstrap-tpls-2.1.4.js"></script>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
    <script type="text/javascript">
        var app = angular.module('app',['ui.bootstrap']);
        app.controller('MyCtrl', function($scope){
            $scope.oneAtTime = true;
            $scope.groups = [
                {
                    title: 'Dynamic Group Header -1',
                    content: 'Dynamic Group body -1'
                },
                {
                    title: 'Dynamic Group Header -2',
                    content: 'Dynamic Group Body -2'
                }
            ];
            $scope.items = ['Item 1', 'Item2', 'Item3'];
            $scope.addItem = function(){
                var newItemNo = $scope.items.length + 1;
                $scope.items.push('Item '+ newItemNo);
            }
            $scope.status = {
                isCustomHeaderOpen: false,
                isFirstOpen: true,
                isFirstDisabled: false
            }
        })
    </script>
</head>
<body ng-controller="MyCtrl">
    <p>
        <button type="button" class="btn btn-default btn-sm" ng-click="status.open = !status.open">Toggle last panel</button>
        <button type="button" class="btn btn-default btn-sm" ng-click="status.isFirstDisabled = !status.isFirstDisabled">Enable/Disable first panel</button>
    </p>
    <div uib-accordion close-others="oneAtTime">
        <div uib-accordion-group class="" heading="Static Header, initially expanded"
             is-open="status.isFirstOpen" is-disabled="status.isFirstDisabled">
            This content is straight in the template.
        </div>
        <div uib-accordion-group class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
            {{group.content}}
        </div>
        <div uib-accordion-group class="panel-default" heading="Dynamic Body Content">
            <p>The body of the uib-accordion group grows to fit the contents</p>
            <button type="button" class="btn btn-default btn-sm" ng-click="addItem()">Add Item</button>
            <div ng-repeat="item in items">{{item}}</div>
        </div>
        <div uib-accordion-group class="panel-default" heading="Custom template" template-url="group-template.html">
            Hello
        </div>
        <div uib-accordion-group class="panel-default" is-open="status.isCustomHeaderOpen" template-url="group-template.html">
            <uib-accordion-heading>
                Custom template with custom header template
                <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down':status.isCustomHeaderOpen, 'glyphicon-chevron-right':!status.isCustomHeaderOpen}"></i>
            </uib-accordion-heading>
            World
        </div>
        <div uib-accordion-group class="panel-danger" heading="Delete account">
            <p>Please, to delete your account, click the button below</p>
            <button class="btn btn-danger">Delete</button>
        </div>
        <div uib-accordion-group class="panel-default" is-open="status.open">
            <uib-accordion-heading>
                I can have markup, too!<i class="pull-right glyphicon" ng-class="{'glyphicon-cheron-down':status.open, 'glyphicon-chevron-right':!status.open}"></i>
            </uib-accordion-heading>
            This is just some content to illustrate fancy headings.
        </div>
        <div uib-accordion-group class="panel-default" heading="test for accordion">
            <pre>
                hei!hei!hei!
                hei!hei!hei!
            </pre>
        </div>
    </div>
    <script type="text/ng-template" id="group-template.html">
        <div class="panel-heading">
            <h4 class="panel-title" style="color:#fa39c3">
                <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading">
                    <span uib-accordion-header ng-class="{'text-muted': isDisabled}">
                        {{heading}}
                    </span>
                </a>
            </h4>
        </div>
        <div class="panel-collapse collapse" uib-collapse="!isOpen">
            <div class="panel-body" style="text-align: right" ng-transclude></div>
        </div>
    </script>
</body>
</html>

主要的效果是显现一个类似面板的折叠,点击标题就会在下方展开内容。效果如图所示:
这里写图片描述

这个UI指令由两个指令构成:ui-accordion、ui-accordion-group。
需要注意的是ui-accordion-group必须包含在ui-accordion中,否则会报错。
ui-accordion中包含两个属性:
1、close-others表示的是在ui-accordion包含的ui-accordion-group在同一个时刻,只能有一个处于被展开的状态。也就是说,当你点开某一个ui-accordion-group的时候,其他的则会被关闭。
2、template-url
在ui-accordion-group中包含了四个属性:
1、heading:指定标题,也就是你点击的部分,当你点击后,下面的内容会被展开。
2、is-disabled:指定这个ui-accordion-group是否被禁用,也就是是否能被展开。
3、is-open: 这个ui-accordion-group的展开状态,通过这个属性可以设置它的打开和关闭。
4、template-url : 指定一个模板。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值