Saya ingin menulis kelas alat global, saya mengisytiharkan perkhidmatan ng dalam fail js yang berasingan (dan memuatkannya ke dalam html)
(function(angular){
"use strict";
angular.module('testModule',function(){
return {
test : function(){
console.info('testModule is ready!');
}
}
});
})(window.angular);
Kemudian saya ingin menyuntik testModule
ke dalam pengawal appmodule, tetapi ia menggesa bahawa suntikan gagal
var mainApp = angular.module('mainApp',[]);
mainApp.controller('homeController',['testModule',function(testModule){
testModule.test();
}]);
"Error: [$injector:unpr] Unknown provider: testModuleProvider
Terima kasih, apa yang anda tulis hanya 30% betul. Dua topik terlibat di sini:
1. Modul berbeza
angular.module('testModule')
和angular.module('mainApp',[])
是两个不同的module,你想要在mainApp
中使用testModule
,那么你需要在angular.module('mainApp', [ 'testModule' ])
Import pergantungan ini.2 Kelas alat global ditulis dengan salah
Seseorang menjawabnya di atas:
Apabila menggunakannya, anda boleh:
Kod di atas belum disahkan dan sepatutnya tiada masalah struktur Sila nyahpepijat dan selesaikan sendiri.
Hanya tentukan perkhidmatan anda sebagai modul, contohnya: