Apakah Arahan Kustom?
Arahan khusus dalam Angular Js adalah arahan yang ditentukan pengguna dengan fungsi yang anda mahukan. Walaupun AngularJS mempunyai banyak arahan kuat di luar kotak, kadang-kadang arahan khusus diperlukan.
Dalam tutorial ini, anda akan belajar-
- Bagaimana Membuat Arahan Custom?
- Arahan dan Skop AngularJs
- Menggunakan pengawal dengan arahan
- Cara membuat arahan yang boleh digunakan semula
- Arahan dan komponen AngularJS - ng-transclude
- Arahan bersarang
- Mengendalikan acara secara arahan
Bagaimana Membuat Arahan Custom?
Mari kita lihat contoh bagaimana kita dapat membuat arahan khusus.
Arahan khusus dalam kes kami hanya akan menyuntikkan tag div yang mempunyai teks "AngularJS Tutorial" di halaman kami ketika arahan itu dipanggil.
Event Registration Guru99 Global Event
Penjelasan Kod:
- Kami mula-mula membuat modul untuk aplikasi sudut kami. Ini diperlukan untuk membuat arahan khusus kerana arahan akan dibuat menggunakan modul ini.
- Kami sekarang membuat arahan khusus yang disebut "ngGuru" dan menentukan fungsi yang akan mempunyai kod khusus untuk arahan kami.
Catatan:-
Perhatikan bahawa semasa mendefinisikan arahan, kami telah mendefinisikannya sebagai ngGuru dengan huruf 'G' sebagai modal. Dan ketika kita mengaksesnya dari tag div kita sebagai arahan, kita mengaksesnya sebagai ng-guru. Ini adalah bagaimana sudut memahami arahan khusus yang ditentukan dalam aplikasi. Pertama, nama arahan khusus harus dimulakan dengan huruf 'ng'. Kedua, simbol tanda hubung '-' hanya perlu disebut ketika memanggil arahan. Dan ketiga huruf pertama yang mengikuti huruf 'ng' ketika mendefinisikan arahan dapat berupa huruf kecil atau huruf besar.
- Kami menggunakan parameter templat yang mana parameter yang ditentukan oleh Angular untuk arahan khusus. Dalam hal ini, kami mendefinisikan bahawa setiap kali arahan ini digunakan, maka gunakan nilai templat dan masukkan dalam kod panggilan.
- Di sini kita sekarang menggunakan arahan "ng-guru" buatan kita. Apabila kami melakukan ini, nilai yang kami tetapkan untuk templat kami "Tutorial JS Angular" kini akan disuntik di sini.
Sekiranya kod berjaya dilaksanakan, Keluaran berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
- Output di atas jelas menunjukkan bahawa arahan ng-guru khusus kami, yang mempunyai templat yang ditentukan untuk menunjukkan teks khusus akan dipaparkan di penyemak imbas.
Arahan dan Skop AngularJs
Skop ditakrifkan sebagai gam yang mengikat pengawal ke pandangan dengan menguruskan data antara pandangan dan pengawal.
Semasa membuat arahan AngularJs tersuai, mereka secara lalai akan mempunyai akses ke objek lingkup dalam pengawal induk.
Dengan cara ini, menjadi mudah bagi arahan khusus untuk menggunakan data yang dihantar ke pengawal utama.
Mari kita lihat contoh bagaimana kita boleh menggunakan skop pengawal induk dalam arahan khusus kita.
Event Registration Guru99 Global Event
Penjelasan Kod:
- Kami mula-mula membuat pengawal yang dipanggil, "DemoController". Dalam ini, kami mendefinisikan pemboleh ubah yang disebut tutorialName dan melampirkannya ke objek lingkup dalam satu pernyataan - $ lingkup.tutorialName = "AngularJS".
- Dalam arahan khusus kami, kami dapat memanggil pemboleh ubah "tutorialName" dengan menggunakan ungkapan. Pemboleh ubah ini akan dapat diakses kerana didefinisikan dalam pengawal "DemoController", yang akan menjadi induk untuk arahan ini.
- Kami merujuk pengawal dalam tag div, yang akan bertindak sebagai tag div induk kami. Perhatikan bahawa ini perlu dilakukan terlebih dahulu agar arahan khusus kita dapat mengakses pemboleh ubah tutorialName.
- Kami akhirnya melampirkan arahan khusus "ng-guru" pada tag div kami.
Sekiranya kod berjaya dilaksanakan, Keluaran berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
- Output di atas jelas menunjukkan bahawa arahan khusus "ng-guru" kami menggunakan tutorialName pemboleh ubah skop dalam pengawal induk.
Menggunakan pengawal dengan arahan
Angular memberi kemudahan untuk mengakses pemboleh ubah anggota pengawal secara langsung dari arahan khusus tanpa memerlukan objek skop.
Ini menjadi mustahak kadang-kadang kerana dalam aplikasi anda mungkin mempunyai banyak objek lingkup milik beberapa pengawal.
Oleh itu, ada kemungkinan besar anda membuat kesalahan ketika mengakses objek skop pengawal yang salah.
Dalam senario seperti itu ada cara untuk menyebut secara khusus mengatakan "Saya ingin mengakses pengawal khusus ini" dari arahan saya.
Mari kita lihat contoh bagaimana kita dapat mencapainya.
Event Registration Guru99 Global Event
Penjelasan Kod:
- Kami mula-mula membuat pengawal yang dipanggil, "DemoController". Dalam ini kita akan menentukan pemboleh ubah yang disebut "tutorialName" dan kali ini, bukannya melampirkannya ke objek lingkup, kita akan melampirkannya terus ke pengawal.
- Dalam arahan khusus kami, kami secara khusus menyebutkan bahawa kami ingin menggunakan pengawal "DemoController" dengan menggunakan kata kunci parameter pengawal.
- Kami membuat rujukan ke pengawal menggunakan parameter "controllerAs". Ini ditakrifkan oleh Angular dan merupakan cara untuk merujuk pengawal sebagai rujukan.
Catatan: - Ada kemungkinan untuk mengakses beberapa pengawal dalam arahan dengan menentukan blok pengawal, penyusunA dan pernyataan templat masing-masing.
- Akhirnya, dalam templat kami, kami menggunakan rujukan yang dibuat pada langkah 3 dan menggunakan pemboleh ubah anggota yang dilampirkan terus ke pengawal pada Langkah 1.
Sekiranya kod berjaya dilaksanakan, Keluaran berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
Hasilnya jelas menunjukkan bahawa arahan khusus terutamanya mengakses DemoController dan pemboleh ubah anggotaNota tutorial yang dilampirkan padanya dan memaparkan teks "Angular".
Cara membuat arahan yang boleh digunakan semula
Kami sudah melihat kehebatan arahan khusus, tetapi kami dapat menaikkannya ke tahap seterusnya dengan membina arahan yang boleh digunakan semula.
Katakan, sebagai contoh, bahawa kita ingin memasukkan kod yang selalu menunjukkan tag HTML di bawah di pelbagai skrin, yang pada dasarnya hanyalah input untuk "Nama" dan "usia" pengguna.
Untuk menggunakan semula fungsi ini di beberapa skrin tanpa pengekodan setiap kali, kami membuat kawalan utama atau arahan secara bersudut untuk menahan kawalan ini ("Nama" dan "usia" pengguna).
Jadi sekarang, bukannya memasukkan kod yang sama untuk layar di bawah setiap kali, kita sebenarnya boleh memasukkan kod ini dalam arahan dan menyisipkan arahan itu pada bila-bila masa.
Mari kita lihat contoh bagaimana kita dapat mencapainya.
Event Registration Guru99 Global Event
Penjelasan Kod:
- Dalam coretan kod kami untuk arahan khusus, apa yang berubah hanyalah nilai yang diberikan pada parameter templat arahan khusus kami.
Daripada tag lima teks atau teks, kami sebenarnya memasukkan keseluruhan fragmen 2 kawalan input untuk "Nama" dan "usia" yang perlu ditunjukkan di halaman kami.
Sekiranya kod berjaya dilaksanakan, Keluaran berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
Dari output di atas, kita dapat melihat bahawa coretan kod dari templat arahan khusus akan ditambahkan ke halaman.
Arahan dan komponen AngularJS - ng-transclude
Seperti yang telah kami sebutkan sebelumnya, Angular dimaksudkan untuk memperluas fungsi HTML. Dan kita telah melihat bagaimana kita dapat melakukan suntikan kod dengan menggunakan arahan yang boleh digunakan semula.
Tetapi dalam pengembangan aplikasi web moden, terdapat juga konsep mengembangkan komponen web. Yang pada dasarnya bermaksud membuat tag HTML kita sendiri yang boleh digunakan sebagai komponen dalam kod kita.
Oleh itu sudut memberikan tahap kekuatan yang lain untuk memperluas tag HTML dengan memberikan kemampuan untuk memasukkan atribut ke dalam tag HTML itu sendiri.
Ini dilakukan oleh tag " ng-transclude ", yang merupakan semacam pengaturan untuk memberi tahu sudut untuk menangkap semua yang dimasukkan ke dalam arahan dalam markup.
Mari kita ambil contoh bagaimana kita dapat mencapainya.
Event Registration Guru99 Global Event
Angular JS
Penjelasan Kod:
- Kami menggunakan arahan untuk menentukan tag HTML khusus yang disebut 'pane' dan menambahkan fungsi yang akan menempatkan beberapa kod khusus untuk tag ini. Dalam output, tag panel khusus kami akan memaparkan teks "AngularJS" dalam bentuk segi empat tepat dengan sempadan hitam padat.
- Atribut "transclude" harus disebut sebagai benar, yang diperlukan oleh sudut untuk memasukkan tag ini ke DOM kami.
- Dalam skop, kami menentukan atribut tajuk. Atribut biasanya ditakrifkan sebagai pasangan nama / nilai seperti: name = "value". Dalam kes kami, nama atribut dalam tag HTML panel kami adalah "title". Simbol "@" adalah syarat dari sudut. Ini dilakukan sehingga ketika judul baris = {{title}} dijalankan pada Langkah 5, kod khusus untuk atribut title akan ditambahkan ke tag HTML panel.
- Kod khusus untuk atribut tajuk yang hanya menarik sempadan hitam yang kukuh untuk kawalan kita.
- Akhirnya, kami memanggil tag HTML khusus kami bersama dengan atribut tajuk yang telah ditentukan.
Sekiranya kod berjaya dilaksanakan, Keluaran berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
- Hasilnya dengan jelas menunjukkan bahawa atribut tajuk dari tag html5 panel telah ditetapkan ke nilai khusus "Angular.JS".
Arahan bersarang
Arahan dalam sudut boleh bersarang. Seperti modul dalaman atau fungsi dalam bahasa pengaturcaraan apa pun, anda mungkin perlu memasukkan arahan antara satu sama lain.
Anda boleh mendapatkan pemahaman yang lebih baik mengenai perkara ini dengan melihat contoh di bawah.
Dalam contoh ini, kami membuat 2 arahan yang disebut "luar" dan "dalaman".
- Arahan dalaman memaparkan teks yang disebut "Inner".
- Sementara arahan luar sebenarnya membuat panggilan ke arahan dalaman untuk memaparkan teks yang disebut "Inner".
Guru99 Global Event