angular.js - Bagaimanakah angular sebagai memerlukan kebergantungan dilaksanakan dengan malas selepas berjaya dimuatkan?
大家讲道理
大家讲道理 2017-05-15 16:54:47
0
2
519

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.

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(2)
Ty80

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

左手右手慢动作

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan