1. 自定义标签
<hello>Hello, Angular.</hello>
<script>
var myModule = angular.module("myModule", []);
myModule.directive("hello", function(){
return {
restrict: 'E',
template: "<div></div>",
replace:true
}
});
</script>
2. 多个控制器
<div ng-controller="CommonController">
<button ng-click="commonFn()">common</button>
</div>
<div ng-controller="Controller1">
<p>{{greeting.text}}, Angular.</p>
<button ng-click="control1()">controller1</button>
</div>
<script src="js/Angular.js"></script>
<script>
var app = angular.module("myApp", []);
app.controller("CommonController", function($scope){
$scope.commonFn = function(){
alert("common");
};
});
app.controller("Controller1", function($scope){
$scope.greeting = {
text:"Hello"
};
$scope.control1 = function(){
alert("Controller1");
}
});
</script>
// 多控制器的另一种实现方式
<div ng-controller="CommonController">
<button ng-click="commonFn()">common</button>
</div>
<div ng-controller="OneController">
<p>{{greeting.txt}}, Angular.</p>
<button ng-click="one()">Button</button>
</div>
<script src="js/angular-1.3.0.js"></script>
<script>
function CommonController($scope){
$scope.commonFn = function(){
alert("common");
};
}
function OneController($scope){
$scope.greeting = { txt:"Hi" };
$scope.one = function(){
alert("OneController");
};
}
</script>
3. rootScope
<div>
<div ng-controller="GreetCtrl">
Hello, {{name}}
</div>
<div ng-controller="ListCtrl">
<ol>
<li ng-repeat="x in names">name: {{x.name}}, country: {{x.country}}, hobby: {{hobby}}</li>
</ol>
</div>
</div>
<script src="js/angular-1.3.0.js"></script>
<script>
function GreetCtrl($scope, $rootScope){
$scope.name = "Angular.Angular";
$rootScope.hobby = "Angular";
}
function ListCtrl($scope){
$scope.names = [{name:"Ting", country:"Shanghai"},{name:"Juan", country:"Nanjing"}];
}
</script>
4. emit, boardcast
<div ng-controller="EventController">
Root scope
<tt>MyEvent</tt> count: {{count}}
<ul>
<li ng-repeat="i in [1]" ng-controller="EventController">
<button ng-click="$emit('MyEvent')">emit</button>
<button ng-click="$broadcast('MyEvent')">boardcast</button>
<br>
Middle scope
<tt>MyEvent</tt> count: {{count}}
<ul>
<li ng-repeat="item in [1, 2]" ng-controller="EventController">
Leaf scope
<tt>Event</tt> count: {{count}}
</li>
</ul>
</li>
</ul>
</div>
<script src="js/angular-1.3.0.js"></script>
<script>
function EventController($scope){
$scope.count = 0;
$scope.$on("MyEvent", function(){
$scope.count++;
});
}
</script>