0

根据 angular.js 中 Transclusion 的定义“启用 transclude 后,视图中欢迎元素中存在的任何内容都将附加到模板中具有 ng-transclude 属性的任何元素的内容中。 ”,我试图了解以下行为:-

<html>
 <head>
<title>AngularJS Services</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0-beta.5/angular.min.js"></script>
<script type="text/javascript" src="abc.js"></script>
</head>
<body ng-app="myApp">
    <tab>
            hello world
    </tab>
</body>
</html>

角代码: -

var myApp=angular.module('myApp',[]);


function tab(){

  return {
    restrict : "E",
    transclude: true,
    template: '<h2 ng-transclude>Hello world!</h2>\
               <div role="tabpanel" ng-transclude>kickass</div>',
    scope: {},
    link: function(scope,element,attrs){}

  };


};

myApp.directive('tab',tab);

现在,如果你给ng-transclude里面h2的标签下的内容h2会被破坏,但是当我给ng-transcludediv 它工作正常。根据定义,此处的嵌入表示这些值将附加到标签之间的任何内容。如果我错了,请收集我。

4

0 回答 0