AngularJS學習篇(三)

建立自定義的指令

除了 AngularJS 內置的指令外,咱們還能夠建立自定義指令。html

你能夠使用 .directive 函數來添加自定義的指令。app

要調用自定義指令,HTML 元素上須要添加自定義指令名。函數

使用駝峯法來命名一個指令, myAngular, 但在使用它時須要以 - 分割, my-angular:spa

你能夠經過如下方式來調用指令:rest

  • 元素名
  • 屬性
  • 類名
  • 註釋

元素名

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="angular-1.6.3/angular.js"></script>
</head>
<body>
<div ng-app="myDirective">
    <my-angular></my-angular>
</div>
<script>
    var app=angular.module("myDirective",[]);
    app.directive("myAngular", function() {//注意名稱myAngular---<my-angular>
        return {
            template : "<p>自定義指令!</p>"
        };
    });
</script>
</body>
</html>

屬性:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> 
</head>
<body ng-app="myApp">

<div runoob-directive></div>

<script>
var app = angular.module("myApp", []);
app.directive("runoobDirective", function() {
    return {
        template : "<h1>自定義指令!</h1>"
    };
});
</script>

</body>
</html>

類名:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> 
</head>
<body ng-app="myApp">

<div class="runoob-directive"></div>

<script>
var app = angular.module("myApp", []);
app.directive("runoobDirective", function() {
    return {
        restrict : "C",
        template : "<h1>自定義指令!</h1>"
    };
});
</script>

<p><strong>注意:</strong> 你必須設置 <b>restrict</b> 的值爲 "C" 才能經過類名來調用指令。</p>

</body>
</html>

註釋:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> 
</head>
<body ng-app="myApp">

<!-- directive: runoob-directive -->

<script>
var app = angular.module("myApp", []);
app.directive("runoobDirective", function() {
    return {
        restrict : "M",
        replace : true,
        template : "<h1>自定義指令!</h1>"
    };
});
</script>

<p><strong>注意:</strong> 咱們須要在該實例添加 <strong>replace</strong> 屬性, 不然評論是不可見的。</p>

<p><strong>注意:</strong> 你必須設置 <b>restrict</b> 的值爲 "M" 才能經過註釋來調用指令。</p>

</body>
</html>

限制使用

你能夠限制你的指令只能經過特定的方式來調用。code

restrict 值能夠是如下幾種:cdn

  • E 做爲元素名使用
  • A 做爲屬性使用
  • C 做爲類名使用
  • M 做爲註釋使用

restrict 默認值爲 EA, 便可以經過元素名和屬性名來調用指令。htm

相關文章
相關標籤/搜索