AngularJS'de HTML genişletilmesi özelliği olduğundan bahsetmiştim. Bu özelliğe göre kendi HTML taglarımızı, directivelerimizi oluşturabiliriz.
Kullanımı: <mert></mert>
Çıktısı
Class Directive
Kullanımı: <div class="mert"></div>
Atrribute Directive
Kullanımı: <div mert></div>
Yorum Satırı Directive
Kullanımı: <!-- directive: mert-->
Önemli Uyarı: Directive metodunda, directive isimleri küçük olmak zorundadır. Aşağıdaki hatayı alırız aksi durumda...
Hatamızda ilk harfi küçük harf(lowercase letter) olması gerektiğini belirtmiş. Bu hataya F12 de Console'dan ulaştım.
directive('directiveAdi',function()) metodu ile custom directive oluşturabiliriz.directiveAdi ile directivimize isim verebiliriz. Tanımlamamızı yaptıktan sonra belirli özellikler atamamız gerekiyor. Fonkiyonumuzun return bloğu içerisinde tanımlayacağımız başlıca özellikler vardır. En önemli iki tanesi;
restrict : Directive'mizin türünü belirtir. Alacağı değerler ise
E
-> Element(Tag)A
-> AttributeC
-> ClassM
-> Yorum Satırı
restrict: 'EA' demek bu directivemiz hem element hem de attribute olacaktır.
template : Directive'mizin içinde barındıracağı kodları içerir.
Element Directive
<script> var app = angular.module('myApp', []); app.directive('mert', function () { return { restrict: 'E', template: '<form method="post">Kullanıcı Adı: <input type="text" name="name" value="" /><br/>Şifre:<input type="text" name="name" value="" /><br/><button>Giriş Yap</button></form>' }; }); </script>
Kullanımı: <mert></mert>
Çıktısı
Class Directive
<script> app.directive('mert', function () { return { restrict: 'C', template: '<div><p>Mert</p><hr/><a href="#"><b><mark></mark></b></a></div>' }; }); </script>
Kullanımı: <div class="mert"></div>
Atrribute Directive
<script> app.directive('mert', function () { return { restrict: 'A', template: '<div><p>Mert</p><hr/><a href="#"><b><mark></mark></b></a></div>', replace: true }; }); </script>
Kullanımı: <div mert></div>
Yorum Satırı Directive
<script> app.directive('mert', function () { return { restrict: 'M', template: '<div><p>Mert</p><hr/><a href="#"><b><mark></mark></b></a></div>', replace: true }; }); </script>
Kullanımı: <!-- directive: mert-->
Önemli Uyarı: Directive metodunda, directive isimleri küçük olmak zorundadır. Aşağıdaki hatayı alırız aksi durumda...
Hatamızda ilk harfi küçük harf(lowercase letter) olması gerektiğini belirtmiş. Bu hataya F12 de Console'dan ulaştım.
Yorumlar
Yorum Gönder