Ho scritto una fabbrica di Angular. C'è stato un errore critico per me. Ho vagato per aggiustarlo. Alla fine, ho risolto questo problema ... senza motivo. Quindi ho bisogno di una descrizione chiara del problema sotto il codice.Differenza tra angolare come variabile globale e parametro?
Ecco il mio codice A:
angular
.module('BinD', ['ngSails'])
.factory('UserService', function ($sails) {
...
});
E un altro B è:
(function (angular) {
'use strict';
angular
.module('BinD', ['ngSails'])
.factory('UserService', function ($sails) {
...
});
})(angular);
E la parte di errore è:
(function (angular) {
'use strict';
angular
.module('BinD', ['ngSails'])
.controller('SignUpCtrl', function ($scope, $window, UserService) {
codice B funziona bene. codice Un messaggio di errore creato "UserServiceProvider è sconosciuto (può?)". Non so davvero perché due codici identici funzionano diversamente. Fammi sapere.
Aha, quindi dichiaro che modulo diverso 'BinD' e modulo devono essere gestiti una variabile esterna. È? –
Il tuo secondo approccio non funzionerà mai nel suo caso. Nella seconda parte sta utilizzando il pattern IIFE. –
@ user3413534 Se lo trovi più facile, puoi gestirlo in una variabile esterna. Questo è normalmente quello che faccio. –