Skip to content

Commit 3ae3b10

Browse files
author
K.C. Hunter
committed
Compile video part 2
1 parent 4326790 commit 3ae3b10

3 files changed

Lines changed: 32 additions & 18 deletions

File tree

src/angularjstutorial.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ app.controller('MainController', function ($scope)
77
$scope.labelName + '</div>');
88
})
99

10+
.directive('compileDirective', function ($compile)
11+
{
12+
return {
13+
restrict: 'E',
14+
template: '<div>New compile template</div>',
15+
controller: 'MainController',
16+
link: function (scope, elm, attrs)
17+
{
18+
var compileIt = $compile(scope.newElement);
19+
var content = compileIt(scope);
20+
elm.append(content);
21+
}
22+
}
23+
})
24+
1025
.directive('pageDirective', function ()
1126
{
1227
return {
@@ -17,19 +32,16 @@ app.controller('MainController', function ($scope)
1732
compile: function (tElem, tAttrs)
1833
{
1934
console.log('compile it. This is the original compiled DOM.');
20-
debugger;
2135
return {
2236
pre: function preLink (scope, iElement, iAttrs)
2337
{
2438
console.log('pre');
2539
iElement.html('<div class="panel panel-default">Now a panel</div>');
26-
debugger;
2740
},
2841
post: function postLink (scope, iElement, iAttrs)
2942
{
3043
console.log('post');
3144
iElement.append(scope.newElement);
32-
debugger;
3345
}
3446
}
3547
}
@@ -46,18 +58,15 @@ app.controller('MainController', function ($scope)
4658
compile: function (tElem, tAttrs)
4759
{
4860
console.log('2 compile it. This is the original compiled DOM.');
49-
debugger;
5061
return {
5162
pre: function preLink (scope, iElement, iAttrs)
5263
{
5364
console.log('2 pre');
54-
debugger;
5565
},
5666
post: function postLink (scope, iElement, iAttrs)
5767
{
5868
console.log('2 post');
5969
iElement.append(scope.newElement);
60-
debugger;
6170
}
6271
}
6372
}
@@ -74,17 +83,14 @@ app.controller('MainController', function ($scope)
7483
compile: function (tElem, tAttrs)
7584
{
7685
console.log('3 compile it. This is the original compiled DOM.');
77-
debugger;
7886
return {
7987
pre: function preLink (scope, iElement, iAttrs)
8088
{
8189
console.log('3 pre');
82-
debugger;
8390
},
8491
post: function postLink (scope, iElement, iAttrs)
8592
{
8693
console.log('3 post');
87-
debugger;
8894
}
8995
}
9096
}

src/compile.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
<h1>Features</h1>
1616
<h2>Compile</h2>
1717

18+
<compile-directive></compile-directive>
19+
1820
<page-directive></page-directive>
1921

2022
<page-directive-two></page-directive-two>

src/resources/js/compile.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ app.controller('MainController', function ($scope)
77
$scope.labelName + '</div>');
88
})
99

10+
.directive('compileDirective', function ($compile)
11+
{
12+
return {
13+
restrict: 'E',
14+
template: '<div>New compile template</div>',
15+
controller: 'MainController',
16+
link: function (scope, elm, attrs)
17+
{
18+
var compileIt = $compile(scope.newElement);
19+
var content = compileIt(scope);
20+
elm.append(content);
21+
}
22+
}
23+
})
24+
1025
.directive('pageDirective', function ()
1126
{
1227
return {
@@ -17,19 +32,16 @@ app.controller('MainController', function ($scope)
1732
compile: function (tElem, tAttrs)
1833
{
1934
console.log('compile it. This is the original compiled DOM.');
20-
debugger;
2135
return {
2236
pre: function preLink (scope, iElement, iAttrs)
2337
{
2438
console.log('pre');
2539
iElement.html('<div class="panel panel-default">Now a panel</div>');
26-
debugger;
2740
},
2841
post: function postLink (scope, iElement, iAttrs)
2942
{
3043
console.log('post');
3144
iElement.append(scope.newElement);
32-
debugger;
3345
}
3446
}
3547
}
@@ -46,18 +58,15 @@ app.controller('MainController', function ($scope)
4658
compile: function (tElem, tAttrs)
4759
{
4860
console.log('2 compile it. This is the original compiled DOM.');
49-
debugger;
5061
return {
5162
pre: function preLink (scope, iElement, iAttrs)
5263
{
5364
console.log('2 pre');
54-
debugger;
5565
},
5666
post: function postLink (scope, iElement, iAttrs)
5767
{
5868
console.log('2 post');
5969
iElement.append(scope.newElement);
60-
debugger;
6170
}
6271
}
6372
}
@@ -74,17 +83,14 @@ app.controller('MainController', function ($scope)
7483
compile: function (tElem, tAttrs)
7584
{
7685
console.log('3 compile it. This is the original compiled DOM.');
77-
debugger;
7886
return {
7987
pre: function preLink (scope, iElement, iAttrs)
8088
{
8189
console.log('3 pre');
82-
debugger;
8390
},
8491
post: function postLink (scope, iElement, iAttrs)
8592
{
8693
console.log('3 post');
87-
debugger;
8894
}
8995
}
9096
}

0 commit comments

Comments
 (0)