angular.js の Transclusion の定義によると、「Transclude を有効にすると、ビュー内のwelcome 要素内に存在するものはすべて、テンプレート内の 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
内側を指定すると、その下のコンテンツが破壊されますが、div を指定すると正常に動作します。定義によると、ここでのトランスクルージョンは、値がタグ間の任意のものに追加されることを示しています。間違っていたら集めてください。h2
h2
ng-transclude