6、自定義filter 、directive、Angular元件技術
阿新 • • 發佈:2019-01-02
1、filter 過濾器
– 輸出資料之前處理一下
– 自定義過濾器
app.filter('名字',function(){
// filter 的程式碼
})
e.g
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script>
var app = angular.module('wbx' ,[]);
app.filter('myFilter',function(){
alert('外層函式')
return function(input){
alert('內層函式')
return input + 5;
}
})
app.controller("con",function($scope){
$scope.arr = [1,2,3,4];
})
</script >
</head>
<body>
<div ng-app="wbx" ng-controller="con">
<ul>
<li ng-repeat="v in arr">{{v | myFilter}}</li>
</ul>
</div>
</body>
</html>
2、指令directive 增強HTML 的功能
app.directive('abc',function(){
var json = {
restrict:'ECMA', // 約束,指令能在哪用
template:'<span>abc</span>', // 模板
replace:true
}
return json
})
– 佔位符 為原始內容站位
<ng-transclude></ng-transclude>
– transclude
1)標籤
<ng-transclude></ng-transclude>
2)屬性
transclude:true/false
e.g
app.directive('abc',function(){
var json = {
restrict:'E',
template:'<ng-transclude></ng-transclude><a href="javascript:void();">X</a>',
transclude:true // 嵌入
}
return json;
})