Vedere this plunker code (Avviso messaggi console.log) per capire cosa sto cercando di dire/chiedere.Qual è il punto di dichiarazione della dipendenza del modulo angolare se un modulo può accedere ai valori e ai servizi da un altro modulo comunque
Ho definito 3 moduli, ovvero, myApp
, myApp.view1
, myApp.view2
. Solo myApp
modulo ha la dipendenza dichiarata sull'altro 2.
myApp modulo
angular.module('myApp', ['ngRoute','myApp.view1','myApp.view2'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.otherwise({redirectTo: '/view1'});
}])
.value('author', 'Suman Barick')
myApp.view1 modulo
angular.module('myApp.view1', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {
template: 'Welcome to view ONE',
controller: 'View1Ctrl'
});
}])
.controller('View1Ctrl', ['author', function(author) {
console.log('*******************************************');
console.log('I am on view1 module');
console.log('Printing author value from myApp module ' + author);
console.log('*******************************************');
}])
.value('view1_var', 'Hi, I am defined as value in myApp.view1 module')
.service('serviceV1', function(){
this.getData = function(){return 'abcdef';}
console.log('This is a service from myApp.view1 module');
})
modulo myApp.view2
angular.module('myApp.view2', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view2', {
template: 'Welcome to view TWO',
controller: 'View2Ctrl'
});
}])
.controller('View2Ctrl', ['view1_var','serviceV1', function(view1_var, serviceV1) {
console.log('*******************************************');
console.log('Look I am accessing view1_var and serviceV1 of view1 module... from view2 module');
console.log(view1_var);
console.log(serviceV1.getData());
console.log('*******************************************');
}]);
miei dubbi/domande:
Perché può "myApp.view1" accesso modulo il valore "autore" definita su modulo "myApp". "myApp" ha una dipendenza da "myApp.view1", ma non viceversa.
Più interessante, "myApp.view1" e "myApp.view2" sono 2 moduli completamente separati. Allora come mai "myApp.view2" sta accedendo allo
view1_var
eserviceV1
da "myApp.view1" senza nemmeno dichiarare alcuna dipendenza su di esso?È questo il design/comportamento previsto? Allora quali sono le altre cose che posso definire in un modulo ma usarlo in qualsiasi altro modulo indipendentemente dalla loro dipendenza tra loro?
Qualcuno può spiegare?
Se si utilizza un approccio basato su test, incluse tutte le dipendenze in un modulo consente di testare quel modulo separatamente. – dewd
Conosco i vantaggi, ma non è quello che ho chiesto: P –
Ora vedo le altre 3 domande. Stavo solo rispondendo alla domanda nel titolo – dewd