• angularjs 创建自定义的指令


    创建自定义的指令

    除了 AngularJS 内置的指令外,我们还可以创建自定义指令。

    你可以使用 .directive 函数来添加自定义的指令。

    要调用自定义指令,HTMl 元素上需要添加自定义指令名。

    使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive:

    你可以通过以下方式来调用指令:

    • 元素名
    • 属性
    • 类名
    • 注释

    以下实例方式也能输出同样结果:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>

    <body ng-app="myApp">

    <p>元素名</p>
    <runoob-directive></runoob-directive>

    <p>类名</p>
    <div class="class-directive"></div>

    <p>属性</p>
    <div attribute-directive></div>

    <p>注释</p>
    <!-- directive: commance-directive -->
    <script>
    var app = angular.module("myApp", []);
    app.directive("runoobDirective", function() {
    return {
    template : "<div><ul><li>1</li><li>1</li><li>1</li><li>1</li></ul></div>"
    };
    });

    app.directive("classDirective", function() {
    return {
    restrict: "C",
    template : "<div><ul><li>must set the restrict : "C"</li><li>class directive</li><li>class directive</li><li>class directive</li></ul></div>"
    };
    });

    app.directive("attributeDirective", function() {
    return {
    template : "<div><ul><li>Attribute directive</li><li>Attribute directive</li></ul></div>"
    };
    });

    app.directive("commanceDirective", function() {
    return {
    restrict : "M",
    replace : true,
    template : "<div><ul><li>commance directive</li><li>commance directive</li></ul></div>"
    };
    });

    </script>

    </body>

    </body>
    </html>

    限制使用

    你可以限制你的指令只能通过特定的方式来调用。

    • E 只限元素名使用
    • A 只限属性使用
    • C 只限类名使用
    • M 只限注释使用

    restrict 默认值为 EA, 即可以通过元素名和属性名来调用指令。

  • 相关阅读:
    【02】Nginx:基本配置和日志处理
    【01】Nginx:编译安装/动态添加模块
    【09】Jenkins:Pipeline 补充
    【08】Jenkins:关于发布
    【07】Jenkins:流水线(Pipeline)
    【06】Jenkins:Gitlab 自动触发构建以及钉钉通知
    【05】Jenkins:用户权限管理
    【04】Jenkins:基本功能补充说明
    【03】Jenkins:SonarQube
    【02】Jenkins:第一个项目
  • 原文地址:https://www.cnblogs.com/facial/p/5465895.html
Copyright © 2020-2023  润新知