Saya mencoba menambahkan dua aplikasi / modul sudut ke satu halaman. Di fiddles di bawah ini Anda dapat melihat bahwa selalu hanya modul pertama, yang direferensikan dalam kode html, akan bekerja dengan benar, sedangkan yang kedua tidak dikenali oleh angular.
Pada rebab ini kita hanya dapat menjalankan doSearch2
metodenya, sedangkan pada rebab ini hanya doSearch
metodenya yang bekerja dengan benar.
Saya mencari cara bagaimana menempatkan dua modul sudut dengan benar ke dalam satu halaman.
sumber
ng-app="project"
dan mengatakan bahwa "ini memungkinkan Anda memiliki modul yang berjalan di bagian halaman yang berbeda" tetapi dokumen ngApp menyatakan bahwa "hanya satu direktif yang dapat digunakan per dokumen HTML".ng-app
(karena tidak akan berhasil).ng-app
hanya dapat digunakan satu kali per dokumen HTML. Ini benar-benar hanya jalan pintas jika Anda hanya memiliki satu aplikasi di halaman, yang merupakan kasus normal.Saya membuat arahan alternatif yang tidak memiliki
ngApp
batasan. Ini namanyangModule
. Seperti inilah tampilan kode Anda saat Anda menggunakannya:Anda bisa mendapatkan kode sumber di:
http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/
Ini pada dasarnya adalah kode yang sama yang digunakan secara internal oleh AngularJS tanpa batasan.
sumber
Mengapa Anda ingin menggunakan beberapa [ng-app]? Karena Angular dilanjutkan dengan menggunakan modul, Anda dapat menggunakan aplikasi yang menggunakan banyak dependensi.
Javascript:
HTML:
EDIT
Perlu diingat bahwa jika Anda ingin menggunakan controller di dalam controller Anda harus menggunakan sintaks controllerAs, seperti ini:
sumber
Anda dapat mem-bootstrap beberapa aplikasi sudut, tetapi:
1) Anda perlu melakukan bootstrap secara manual
2) Anda tidak boleh menggunakan "document" sebagai root, tetapi node tempat antarmuka bersudut berada:
Ini akan aman.
sumber
Bootstrap manual kedua modul akan berfungsi. Lihat ini
Ini link ke Plunker http://plnkr.co/edit/1SdZ4QpPfuHtdBjTKJIu?p=preview
CATATAN: Dalam html, tidak ada
ng-app
.id
telah digunakan sebagai gantinya.sumber
Saya membuat POC untuk aplikasi Angular menggunakan beberapa modul dan outlet router untuk membuat sub aplikasi dalam satu aplikasi halaman. Anda bisa mendapatkan kode sumbernya di: https://github.com/AhmedBahet/ng-sub-apps
Semoga ini bisa membantu
sumber