cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Bagaimanakah angular sebagai memerlukan kebergantungan dilaksanakan dengan malas selepas berjaya dimuatkan?

Lihat kod dahulu:

define(['angular','angular-touch'],function(angular){
    'use strict';
    return angular.module('weather-app',['ngTouch']);
});

Gunakan requirejs untuk memanggil modul ini untuk mendapatkan modul yang ditakrifkan oleh angularjs Ternyata sebelum definisi modul angular.module('weather-app',['ngTouch']) belum dilaksanakan, mesej ralat [$injector:modulerr] Failed to instantiate module weather-app due to: telah dilaporkan. .. (titik putus Jika ia ditetapkan kepada 'menggunakan ketat', ralat akan dilaporkan).

dan mendapati bahawa nama modul dalam mesej ralat berubah dengan nilai atribut dalam fail htmlng-app Walau bagaimanapun, jika weather-app masuk kod modul js di atas ditukar kepada nilai lain, ia tidak akan berubah. Keseluruhan timbunan gesaan ralat hanya melibatkan angular.js satu fail sumber dan yang lain ialah fail pemalam yang disertakan dengan penyemak imbas.

Nampaknya angular.js telah dilaksanakan serta-merta selepas dimuat turun Takrif modul dalam badan fungsi panggil balik define tidak dilaksanakan sama sekali, jadi ia mula menyemak arahan sudut pada teg html, dan cuba memulakan ng-. app, dan mendapati bahawa ng -Nama yang dinyatakan pada apl tidak ditakrifkan oleh ayat angular.module('weather-app',['ngTouch']);.

Ini mengesahkan semula: masalah yang dihadapi sebelum ini adalah sama.
Pada masa itu, sudut dan dua modul tersuai lain telah dimuatkan, dengan jumlah tiga kebergantungan, dan kemudian definisi angular.module telah dilaksanakan.
Selepas modul tersuai memasukkan rentetan panjang tanpa makna secara buatan, kerana ia mesti menunggu untuk dimuatkan sebelum mentakrifkan angular.module(), beban sudut sebelum ini dan cuba memulakan ng pada teg <html> ralat dilaporkan.

Jadi penyelesaian yang saya perlukan adalah untuk tidak melaksanakannya serta-merta selepas angular.js dimuatkan, tetapi menunggu sehingga arahan angular.module('weather-app',['ngTouch']) dilaksanakan sebelum meneruskan -aplikasi pada tag.

大家讲道理大家讲道理2784 hari yang lalu525

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-05-15 16:56:47

    Jangan tulis ng-app="weather-app" pada halaman, kemudian gunakannya bersama dengan angular.bootstrap dan ia akan OK

    balas
    0
  • ringa_lee

    ringa_lee2017-05-15 16:56:47

    http://docs.ngnice.com/api/ng/function/angular.bootstrap

    balas
    0
  • Batalbalas