Saya baru-baru ini meninjau kode untuk aplikasi web yang dibuat dengan sudut dan menemukan bahwa itu ditulis dengan ng-app="myModule"
arahan yang ditempatkan pada <body>
tag. Saat mempelajari angular, saya hanya pernah melihatnya digunakan di <html>
tag, seperti yang direkomendasikan oleh dokumen angular di sini , di sini , dan di tutorial mereka .
Saya telah menjelajahi ini sedikit sendiri dan menemukan pertanyaan SO, terutama yang ini dan juga yang ini , yang membahas memuat banyak modul untuk satu halaman. Namun, teknik ini berbeda dari kasus saya, karena melibatkan penempatan ng-app pada elemen di dalam tubuh dan menggunakan bootstrap manual untuk menjalankan dua aplikasi sudut secara bersamaan.
Sejauh yang saya tahu, tidak ada perbedaan saat runtime antara aplikasi dengan ng-app
on <html>
atau <body>
. Seperti yang saya pahami, ng-app
menunjukkan root dari aplikasi sudut, jadi penempatannya di <body>
akan memotong <head>
cakupan sudut, tetapi saya tidak dapat memikirkan cara utama yang akan memengaruhi banyak hal. Jadi pertanyaan saya adalah: Apa perbedaan teknis antara menempatkan ng-app
pada salah satu tag ini daripada yang lain?
Saya berada di tim yang mengerjakan aplikasi lama dan merasa paling baik menggunakan tag ng-app di div yang digunakan sebagai pembungkus untuk memisahkan kode baru dari kode lama.
Kami menemukan ini saat mengerjakan aplikasi yang sangat bergantung pada jqGrid dan Dojo.
Saat kami menambahkan ng-app ke tag head, itu meledakkan situs, tetapi saat kami menggunakan pembungkus, kami dapat menggunakan Angular tanpa masalah.
sumber
AngularJS akan melakukan bootstrap pada aplikasi ng pertama yang ditemukannya! Itu dia. Jika Anda memiliki lebih dari satu ng-app, itu hanya akan memproses yang pertama. Jika Anda ingin mem-bootstrap elemen lain, gunakan angular.bootstrap ()
Nilai atribut ng-app adalah modul yang dibuat menggunakan:
Sebuah modul mendefinisikan bagaimana angular akan di-bootstrap karena kita tidak memiliki metode main () tidak seperti bahasa pemrograman lainnya. Jika nilai ng-app kosong, maka secara default menggunakan 'ng', modul default.
Dikatakan sedikit lebih cepat karena angular akan memproses semua elemen di dalam elemen tempat ng-app berada. Tapi saya ragu sedikit karena perbedaannya hampir tidak terlihat sama sekali, kecuali Anda memiliki DOM yang sangat besar.
Jika Anda menginginkan contoh di sini: http://noypi-linux.blogspot.com/2014/07/angularjs-tutorials-understanding.html
sumber