<!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>
</head>
<body ng-app="myApp">
<runoob-directive>E 元素名方式</runoob-directive>
<div runoob-directive>A 属性方式</div>
<div class="runoob-directive">C 类名方式</div>
<!-- directive:runoob-directive --><!-- M 注释方式 -->
<script>
var app = angular.module("myApp", []);
app.directive("runoobDirective", function() {
return {
restrict:'EACM',
replace : true,
template : "<h1>自定义指令!</h1>"
};
});
</script>
</body>
</html>
除了 AngularJS 内置的指令外,我们还可以创建自定义指令。
你可以使用 .directive 函数来添加自定义的指令。
要调用自定义指令,HTML 元素上需要添加自定义指令名。
使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive:
我们可以通过添加 restrict 属性,并设置值为 "A"
, 来设置指令只能通过属性的方式来调用:
restrict 值可以是以下几种:
E
作为元素名使用A
作为属性使用C
作为类名使用M
作为注释使用
restrict 默认值为 EA
, 即可以通过元素名和属性名来调用指令。
注意:使用 M 注释方式时,我们需要在该实例添加 replace 属性, 否则评论是不可见的。