angulaire.js - Comment Angular en tant que dépendance requise peut-il être exécuté paresseusement après un chargement réussi?
大家讲道理
大家讲道理 2017-05-15 16:54:47
0
2
520

Regardez d'abord le code :

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

Utilisez requirejs pour appeler ce module afin d'obtenir le module défini par angulairejs. Il s'avère qu'avant que la définition du module angular.module('weather-app',['ngTouch']) n'ait été exécutée, un message d'erreur [$injector:modulerr] Failed to instantiate module weather-app due to: a été signalé. .. (point d'arrêt S'il est défini sur 'use strict', une erreur sera déjà signalée).

et j'ai constaté que le nom du module dans le message d'erreur change avec la valeur de l'attribut dans le fichier htmlng-app Cependant, si le weather-app dans. le code du module js ci-dessus est remplacé par une autre valeur, il ne changera pas. L'ensemble de la pile d'invites d'erreur n'implique qu'angular.js un fichier de ressources, et les autres sont des fichiers de plug-ins fournis avec le navigateur.

Il semble qu'angular.js ait été exécuté immédiatement après avoir été téléchargé. La définition du module dans le corps de la fonction de rappel de définition n'a pas été exécutée du tout, il a donc commencé à vérifier les instructions angulaires sur la balise html et a essayé d'initialiser ng-. app, et a constaté que ng -Le nom spécifié sur l'application n'a pas été défini par la phrase angular.module('weather-app',['ngTouch']);.

Cela reconfirme : le problème rencontré auparavant est le même.
À ce moment-là, angulaire et deux autres modules personnalisés ont été chargés, avec un total de trois dépendances, puis la définition d'angular.module a été exécutée.
Après que le module personnalisé insère artificiellement une longue chaîne dénuée de sens, car il doit attendre qu'elle soit chargée avant de définir angulaire.module(), angulaire se charge avant cela et essaie d'initialiser ng sur la balise <html> une erreur est signalée.

La solution dont j'ai donc besoin est donc de ne pas l'exécuter immédiatement après le chargement d'angular.js, mais d'attendre que la commande angulaire.module('weather-app',['ngTouch']) soit exécutée avant de continuer. -app sur les balises.

大家讲道理
大家讲道理

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

répondre à tous(2)
Ty80

N'écrivez pas ng-app="weather-app" sur la page, puis utilisez-la avec angular.bootstrap et tout ira bien

左手右手慢动作

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal