J'essaie d'ajouter un filtre personnalisé, mais si j'utilise le code suivant:
angular.module('myApp',[]).filter('startFrom', function() {
return function(input, start) {
start = +start; //parse to int
return input.slice(start);
}
});
Mais si je le fais, j'obtiens: "ReferenceError: angular is not defin" dans firebug.
Le reste de l'application fonctionne bien, j'utilise ng-app dans un tag div et non dans un tag html, et https://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.js
Bien dans la manière dont il s’agit d’une application à page unique, la solution utilisée était:
charger le contenu avec AJAX, comme n'importe quel autre contrôleur, puis appeler:
angular.bootstrap($('#your_div_loaded_in_ajax'),["myApp","other_module"]);
Vous devriez d'abord mettre la ligne angulaire include avant d'inclure tout autre fichier js
J'ai rencontré un problème similaire en raison du référencement local vs distant
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js"></script>
<script src="lib/js/ui-grid/3.0.7/ui-grid.js"></script>
Comme ui-grid.js dépend de angular.js, ui-grid nécessite angular.js au moment où il est chargé. Mais dans le cas ci-dessus, ui-grid.js [fichier de référence enregistré localement] est chargé avant angularjs a été chargé [depuis Internet],
Le problème était résolu si j'avais à la fois angular.js et ui-grid référencé localement et en déclarant angular.js avant ui-grid
<script src="lib/js/angularjs/1.4.3/angular.js"></script>
<script src="lib/js/ui-grid/3.0.7/ui-grid.js"></script>
Assurez-vous toujours que le fichier js (angular.min.js) est référencé en premier dans le fichier HTML. Par exemple:
----------------- Cette référence seraVOMIEerreur ---------------------- ---
< script src="otherXYZ.js"></script>
< script src="angular.min.js"></script>
----------------- Cette référence fonctionneraFONCTIONNERAcomme prévu -------------------
< script src="angular.min.js"></script>
< script src="otherXYZ.js"></script>
Comme @bmleite déjà mentionné dans les commentaires, vous avez probablement oublié de charger angular.js.
Si je crée un violon avec des directives angulaires, mais n'inclue pas angular.js, la même erreur se produit dans la console Chrome: Uncaught ReferenceError: angular is not defined
Au cas où vous utiliseriez Rails et le joyau angular-Rails, le problème est facilement corrigé en ajoutant cette ligne manquante à application.js (ou ce qui est applicable dans votre cas):
//= require angular-resource
Je me suis heurté à cela parce que j'ai copié-collé ngBoilerplate dans mon projet sur un Mac sans que le Finder ne montre les fichiers cachés. Donc .bower n’a pas été copié avec le reste de ngBoilerplate. Ainsi, bower a déplacé des ressources vers bower_components (defult) au lieu de fournisseur (tel que configuré) et mon application n’a pas été angulaire. Probablement un cas de coin, mais cela pourrait aider quelqu'un ici.
Je pense que cela se produira si vous utilisez 'async différer' pour (le fichier qui contient le filtre) en travaillant avec angularjs
<script src="js/filter.js" type="text/javascript" async defer></script>
si vous le faites, supprimez simplement «différer async».
Si vous avez téléchargé le fichier angular.js de Google, vous devez vous assurer que Tout le monde a Accès en lecture à cela, ou il ne sera pas chargé par votre fichier HTML. Par défaut, il semble que le téléchargement se fasse avec les autorisations Pas d’accès, vous recevrez donc également un message tel que:
Cela m'a rendu fou pendant environ une demi-heure!