Cara yang tidak konvensional untuk mengendalikan isu pengurusan modul AngularJS_AngularJS

WBOY
Lepaskan: 2016-05-16 16:01:42
asal
1301 orang telah melayarinya

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. Soalan

Dalam 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);

};

Salin selepas log masuk
Ganti
dalam setiap modul angul.js

angular.bootstrap(dokumen, [nama modul]);


Gantikan
dengan

Sahkan(nama modul);


Tambahkan fail angulur.js di penghujung reka letak (halaman susun atur? Saya tidak tahu apa namanya, bagaimanapun, ia adalah halaman bingkai awam Kodnya adalah seperti berikut: ).

(fungsi () {
var app = angular.module('app', jsModules);
Angular.bootstrap(dokumen, ['app']);
})();


Hehe~~ Saya rasa sakit. . . Adakah ia membuat anda sakit?

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan