AngularJs 指令directive之transclude

简介:

transclude - 编译元素的内容,使它能够被directive所用。需要(在模版中)配合ngTransclude使用(引用)

先看例子,index.JS代码:

Java代码   收藏代码
  1. var appModule = angular.module('app', []);  
  2. appModule.directive('hello', function() {  
  3.     return {  
  4.         restrict: 'E',  
  5.         template: '<div>Hi there <span ng-transclude></span></div>',  
  6.         transclude: true  
  7.     };  
  8. });  

 html

Java代码   收藏代码
  1. <html ng-app='app'>  
  2. <head>  
  3.     <meta http-equiv="content-type" content="text/html; charset=utf-8" />  
  4. </head>  
  5. <body>  
  6. <hello>  
  7.     <br/>  
  8.     <span>原始的内容,</span><br/>  
  9.     <span>还会在这里。</span>  
  10. </hello>  
  11. <hello>  
  12. </hello>  
  13. </body>  
  14.   
  15. <script type="text/javascript" src="../vendor/angular/angular.js"></script>  
  16. <script type="text/javascript" src="app/index.js"></script>  
  17. </html>  

 运行结果

 firebug再看页面代码变成了

Java代码   收藏代码
  1. <hello>  
  2. <div>Hi there   
  3. <span ng-transclude="">  
  4.     <br/>  
  5.     <span>原始的内容,</span><br/>  
  6.     <span>还会在这里。</span>  
  7. </span>  
  8. </div>  
  9. </hello>  
  10. <hello <div="">Hi there   
  11. <span ng-transclude="">  
  12. </span>  
  13. </hello>  
相关文章
|
5月前
|
JavaScript
AngularJS ng-if使用
AngularJS ng-if使用
|
JavaScript 内存技术
angularJS 常用指令小结
angularJS 常用指令小结
122 0
|
JavaScript
关于Angular directive使用的语法问题
前者用于控制或者改变 DOM,后者控制已有 elements 的外观或者行为。
关于Angular directive使用的语法问题
|
JavaScript 前端开发
|
JavaScript 前端开发 移动开发
|
JavaScript 前端开发 容器