-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path21.transclusion-intro.js
57 lines (48 loc) · 1.3 KB
/
21.transclusion-intro.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var app = angular.module('app', []);
app.controller('sample', ['$scope', function($scope){
}]);
// transclude using ng-transclude
app.directive('message', function(){
return {
templateUrl : 'templates/tmpl-transclusion-intro.html',
transclude : true
}
});
// transclude using link function
app.directive('message2', function(){
return {
templateUrl : 'templates/tmpl-transclusion-intro.html',
transclude : true,
link : function(scope, iElement, iAttrs, controller, transclude){
var content = transclude();
iElement.find('#innerPanel').append(content);
}
}
});
// transclude using directive controller
app.directive('message3', function(){
return {
templateUrl : 'templates/tmpl-transclusion-intro.html',
transclude : true,
controller : function($scope, $element, $attrs, $transclude){
var content = $transclude();
$element.find('#innerPanel2').append(content);
}
}
});
// using my own transclude directive
app.directive('message4', function(){
return {
templateUrl : 'templates/tmpl-transclusion-intro.html',
transclude : true,
}
});
// custom ng-transclude directive - "my-transclude"
app.directive('myTrnasclude', function(){
return {
templateUrl : 'templates/tmpl-transclusion-intro.html',
link : function(scope, ele, attr, contr, trans){
ele.append(trans());
}
}
});