根据 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-transclude
div 它工作正常。根据定义,此处的嵌入表示这些值将附加到标签之间的任何内容。如果我错了,请收集我。