Saya telah membaca referensi cepat Sudut 1 ke 2 di situs web Sudut , dan satu hal yang saya tidak sepenuhnya mengerti adalah perbedaan antara karakter khusus ini. Misalnya yang menggunakan tanda bintang:
<tr *ngFor="#movie of movies">
<td>{{movie.title}}</td>
</tr>
Saya mengerti di sini bahwa simbol hash (#) mendefinisikan movie
sebagai variabel templat lokal, tetapi apa arti tanda bintang sebelumnya ngFor
? Dan, apakah itu perlu?
Berikutnya, adalah contoh yang menggunakan tanda kurung:
<a [routerLink]="['Movies']">Movies</a>
Saya agak mengerti bahwa tanda kurung di sekitar routerLink
mengikatnya ke atribut HTML / arahan Angular. Apakah ini berarti bahwa mereka adalah penunjuk bagi Angular untuk mengevaluasi ekspresi? Seperti [id]="movieId"
akan menjadi setara dengan id="movie-{{movieId}}"
di Angular 1?
Terakhir, adalah tanda kurung:
<button (click)="toggleImage($event)">
Apakah ini hanya digunakan untuk acara DOM dan bisakah kita menggunakan acara lain seperti (load)="someFn()"
atau (mouseenter)="someFn()"
?
Saya kira pertanyaan sebenarnya adalah, apakah simbol-simbol ini memiliki makna khusus dalam Angular 2, dan apa cara termudah untuk mengetahui kapan harus menggunakan masing-masing ? Terima kasih!!
bind-
untuk[]
danon-
untuk()
atau<template [ngFor]>
untuk*ngFor
.[ngModel]="foo" (ngModelChange)="foo = $event"
mana bagian pertama memperbaruingModel
properti (@Input() ngModel;
dariNgModel
direktif) when
foo` perubahan dan bagian 2 diperbaruifoo
ketika@Output() ngModelChange;
(dariNgModel
direktif) memancarkan suatu peristiwa.NgModel
digunakan untuk mengikat nilai untuk membentuk elemen dan komponen.[(bar)]
dapat digunakan untuk@Input() bar;
@Output() barChange;
kombinasi apa pun , juga dari komponen Anda sendiri.[prop]="value"
danprop="{{value}}"
apa pun selain sintaks? Keduanya dapat memberikan nilai@Input() value;
dalam komponen.[prop]="value"
dapat menetapkan nilai jenis apa pun,prop="{{value}}"
selalu berstraksivalue
sebelum penugasan dan karenanya tidak berguna untuk melewatkan objek.[]
- Pengikatan properti Satu arah dari sumber data untuk melihat target. misalnyaKita bisa menggunakan bind- bukan
[]
()
-> Penjilidan Acara Satu arah dari target tampilan ke sumber dataKita bisa menggunakan on- bukannya ()
[()]
- Mengikat Pisang dua arah dalam sebuah kotakKita bisa menggunakan bindon- alih-alih
[()]
sumber
Seperti yang sudah disebutkan, dokumentasi Angular, terutama "tutorial pahlawan", menjelaskan ini lebih dalam. Inilah tautannya jika Anda ingin memeriksanya .
Kurung adalah peristiwa elemen yang sedang Anda kerjakan, seperti klik pada tombol seperti contoh Anda; ini juga bisa menjadi mouse, keyup, onselect atau tindakan / peristiwa apa pun untuk elemen itu, dan apa yang setelah itu
=
adalah nama metode untuk memanggil - menggunakan tanda kurung untuk panggilan. Metode itu harus didefinisikan pada kelas komponen Anda, yaitu:Kurung bekerja dengan cara lain. Mereka akan mendapatkan data dari kelas Anda - kebalikan dari tanda kurung yang mengirim acara - jadi contoh umum adalah penggunaan gaya seperti ini:
Lihat? Anda memberi elemen gaya berdasarkan model / kelas Anda.
Untuk ini, Anda bisa menggunakan ...
Rekomendasinya adalah Anda menggunakan kurung keriting ganda untuk hal-hal yang akan Anda cetak di layar seperti:
Apa pun yang Anda gunakan, jika Anda konsisten, itu akan membantu keterbacaan kode Anda.
Terakhir, untuk
*
pertanyaan Anda , ini adalah penjelasan yang lebih panjang, tetapi sangat SANGAT penting: Ini mengabstraksi beberapa metode yang seharusnya Anda lakukan untuk mendapatkanngFor
pekerjaan.Satu pembaruan penting adalah bahwa
ngFor
Anda tidak akan lagi menggunakan hash; Anda harus menggunakanlet
sebagai berikut:Satu hal terakhir yang layak disebutkan adalah bahwa semua hal di atas berlaku juga untuk komponen Anda, misalnya jika Anda membuat metode dalam komponen Anda, itu akan dipanggil menggunakan
()
:sumber