1.代码:
<body ng-app="myApp" > <my-expander title="标题部分"> <h5>中间内容部分</h5> </my-expander> <!--<div class="panel panel-primary" > <div class="panel-heading"></div> <div class="panel-body"></div> </div>--> <script> </body>
var app = angular.module('myApp',[]); app.directive('myExpander',function () { return { restrict: 'E',replace: true,transclude: true,scope: { title:'@' //如果使用= 双向绑定失败,因为replace=true 原始标签的title会被删除 },template: '<div class="panel panel-primary" >' + ' <div class="panel-heading" ng-click="toggle()">{{title}}</div>' + '<div class="panel-body" ng-show="showMe" ng-transclude></div>',link: function (scope,element,attrs) { scope.showMe = false; scope.toggle = function toggle() { scope.showMe = !scope.showMe; if (scope.showMe) { scope.title = '点击关闭'; } else { scope.title = '点击展开'; } } } } });