標籤:angular 建立 res ict 命名 comm cti att attr
<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>
AngularJS入門筆記02