<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="utf-8">
<title>Egghead Videos</title>
<link rel="stylesheet" href="./foundation.min.css">
<script type="text/javascript" src="./angular.min.js"></script>
<script type="text/javascript" src="./app.js"></script>
</head>
<body ng-app="app">
<country title="Finland">
<state title="North K">
<city title="Joensuu">
</city>
</state>
</country>
</body>
</html>
var app = angular.module("app", []);
app.directive('country', function(){
return{
restrict: 'E',
scope:{title: '@'},
controller: function(){
this.sayCountry = function(){
console.log("This is country: ");
}
}
}
});
app.directive('state',function(){
return{
restrict: 'E',
scope:{title:'@'},
require: '^country',
controller: function(){
this.sayState=function(){
console.log("This is state: ");
}
},
link: function(scope, element, attrs, countryCtrl){
countryCtrl.sayCountry();
}
}
});
app.directive('city',function(){
return{
restrict: 'E',
scope: {title: '@'},
require: ['^country', '^state'],
link:function(scope, element, attrs, ctrls){
console.log("This is city: ");
ctrls[0].sayCountry();
ctrls[1].sayState();
}
}
});