angular-directive(组件化)

base.js

var myApp = angular.module('helloworld', []);
myApp.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;
            }
        }
    }
});

html

这里的代码需要ng-app的包裹才会生效
大家自己加


 <expander class='expander' expander-title='title'>
        {{text}}
    </expander>

这里的{{text}}为何会插入到'<div class="body" ng-show="showMe" ng-transclude></div>'这里面 我很好奇啊搜了一下 哈哈
找到了这句话`
directive包含的内容会放在ng-transclude标示的元素中,transclude要配合ng-transclude使用 所以啦这里的 {{text}}最终会在

'<div class="body" ng-show="showMe" ng-transclude></div>'

这里面包裹着这样我这个例子 我就没有疑问了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值