1.Sebab
Saya telah mengusahakan winform, dan saya cukup bernasib baik untuk mengambil alih projek daripada induk yang menyepadukan banyak rangka kerja sumber terbuka seperti node.js, express, angularJS, dsb., dan dengan cepat meletakkannya di rak, jadi saya belajar semasa menggunakan idea saya yang lalu dan kod refactor;
2. SoalanDalam persekitaran tertentu, anda perlu menggunakan kotak modal BootStrap Adakah kita belajar daripada win? . Sememangnya, saya terfikir untuk menyepadukan kotak modal boostStrp ke dalam perkara universal dan memanggilnya di mana-mana. . .
Jadi fail dialog dirujuk menggunakan patial dan kotak dialog itu sendiri menggunakan anglurJS untuk komunikasi berkaitan pelayan.
Kemudian saya mendapati ia berfungsi dengan baik apabila hanya satu digunakan Jika ia dirujuk beberapa kali (memanggil data yang berbeza), maka hanya satu yang akan berfungsi. .
3. Analisis
Selepas menyemak beberapa maklumat, saya menyedari bahawa panggilan angular.bootstrap hanya boleh dilaksanakan sekali pada halaman Jika dilaksanakan beberapa kali, ia tidak akan berguna dan sebelum ini saya menulis semua angular.module ke dalam fail JS yang berasingan masa Fail JS akhirnya memanggil angular.bootstrap, jadi ia secara semula jadi akan gagal;
4. Nantikannya
Jadi, saya ingin mempunyai mekanisme penyelesaian yang membolehkan saya menambahkan sebahagian daripada pelbagai fail pada halaman sesuka hati, dan fail js tidak akan berulang kali dirujuk, dan AngulurJS juga boleh dilaksanakan dengan sempurna
5.Penyelesaian
Rakan-rakan yang dihormati - walaupun kaedah ini agak menjijikkan, ia benar-benar langsung dan berkesan
Ideanya adalah untuk mengekalkan semua modul AngularJS secara dinamik dalam tatasusunan global dan kemudian memuatkannya secara dinamik
Jangan bercakap lagi, siarkan kod itu
Rujuk fail angulurinit.js di kepala halaman bingkai (susun atur...), kodnya adalah seperti berikut:
Array.prototype.indexOf = function (val) { for( var i = 0; i < this.length; i++) { if(this[i] == val) return i; } return - 1; }; var jsModules = new Array(); function Confirm(val){ if (jsModules.indexOf(val) > -1) return; else jsModules.push(val); };
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.