zoukankan      html  css  js  c++  java
  • angularjs指令参数transclude

    angularjs指令参数transclude

    transclude翻译为嵌入,和之前看到的vue中的slots作用差不多,目的是将指令元素的子内容嵌入到指令的模板中

    定义指令

    <div sidebox title="Links">  
             <ul>  
                 <li>First link</li>  
                 <li>Second link</li>  
             </ul>  
    </div>  
    <script>  
    angular.module('myApp', [])  
    .directive('sidebox', function() {  
        return {  
            restrict: 'EA',  
            scope: {  
                title: '@'  
            },  
            transclude: true,  
            template: '<div class="sidebox">  
                <div class="content">  
                    <h2 class="header">{{ title }}</h2>  
                    <span class="content" ng-transclude>  
                    </span>  
                </div>  
            </div>'  
    }; });  
    </script>  
    

    使用

    下面会将div的内容嵌入带指令的模板中显示而达到自定义列表的效果,我们用的弹出层对话框就是这样实现的

    <sidebox>
        <div sideboxtitle="Links">
            <ul>
                <li>First link</li>
                <li>Second link</li>
            </ul>
        </div>
    </sidebox>
    
    <sidebox>
        <div sideboxtitle="TagCloud">
            <div class="tagcloud">
                <a href="#">Graphics</a>
                <a href="#">AngularJS</a>
                <a href="#">D3</a>
                <a href="#">Front-end</a>
                <a href="#">Startup</a>
            </div>
        </div>
    </sidebox>
    
  • 相关阅读:
    站立会议04(第二阶段)附加站立会议02、03
    第二阶段冲刺---站立会议01
    网络:Session原理及存储
    网络:Xen理解
    网络:LVS负载均衡原理
    网络:OSPF理解
    语音笔记:信号分析
    语音笔记:CTC
    语音笔记:矢量量化
    语音笔记:MFCC
  • 原文地址:https://www.cnblogs.com/wancy86/p/transclude.html
Copyright © 2011-2022 走看看