<body ng-app="myApp"> <runoob-directive></runoob-directive> <script> var app = angular.module("myApp",[]); app.directive("runoobDirective",function () { return { template :"<h1>自定义指令!</h1>" } }); /** * 除了 AngularJS 内置的指令外,我们还可以创建自定义指令。 * 你可以使用 .directive 函数来添加自定义的指令。 * 要调用自定义指令,HTML 元素上需要添加自定义指令名。 * 使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive: * */ </script> </body>
<body ng-app="myApp"> <div runoob-directive></div> <script> var app = angular.module("myApp",[]); app.directive("runoobDirective",function () { return { template :"<h1>自定义指令!</h1>" } }); </script> </body>
<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>" } });
/** * 注意: 你必须设置 restrict 的值为 "C" 才能通过类名来调用指令。 * * */
</script> </body>
<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>" } }); /** * 注意: 我们需要在该实例添加 replace 属性, 否则评论是不可见的。 * 注意: 你必须设置 restrict 的值为 "M" 才能通过注释来调用指令。 * * 注释的内容前后必须要有空格 * * */ </script> </body>
restrict 值可以是以下几种:
- E 作为元素名使用
- A 作为属性使用
- C 作为类名使用
- M 作为注释使用
restrict 默认值为 EA, 即可以通过元素名和属性名来调用指令。
<body ng-app="myApp"> <runoob-directive></runoob-directive> <div runoob-directive style="color: red"></div> <div class="runoob-directive"></div> <script> var app = angular.module("myApp",[]); app.directive("runoobDirective",function () { return { restrict :"A", // E = Element, A = Attribute, C = Class, M = Comment template :"<h1>自定义指令!</h1>" } }); /** * 注意: 通过设置 restrict 属性值为 "A" 来设置指令只能通过 HTML 元素的属性来调用。 * * 除了 AngularJS 内置的指令外,我们还可以创建自定义指令。 * 你可以使用 .directive 函数来添加自定义的指令。 * 要调用自定义指令,HTML 元素上需要添加自定义指令名。 * 使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive: * */ </script> </body>
时间: 2024-11-08 23:39:20