구성 내에서 사용하기 위해 공급자 내에서 팩토리를 어떻게 사용할 수 있는지 궁금합니다.
구성은 공급자에게만 주입 될 수 있음을 이해하므로 다음 기능을 어떻게 얻을 수 있는지 궁금합니다.
app.provider('getUserLanguageProvider',['$injector', function($injector) {
this.$get = function(getUserLang) { // calling a factory
var userLang = getUserLang.getLang()
return {
getLang: function() {
return userLang
}
}
};
}]);
app.config(['$translateProvider', 'getUserLanguageProvider', function ($translateProvider, getUserLanguageProvider) {
const lang = getUserLanguageProvider.getLang() // get the language key from provider
$translateProvider.preferredLanguage(lang); // set the language key brought by getUserLang.getLang() factory
}]);
내가 설명한 것의 많은 버전을 시도했지만 작동하지 않습니다.
Provider
공급자 이름에 추가하지 마십시오 . 서비스 이름을 사용하십시오.
̶a̶p̶p̶.̶p̶r̶o̶v̶i̶d̶e̶r̶(̶'̶g̶e̶t̶U̶s̶e̶r̶L̶a̶n̶g̶u̶a̶g̶e̶P̶r̶o̶v̶i̶d̶e̶r̶'̶,̶[̶'̶$̶i̶n̶j̶e̶c̶t̶o̶r̶'̶,̶ ̶f̶u̶n̶c̶t̶i̶o̶n̶(̶$̶i̶n̶j̶e̶c̶t̶o̶r̶)̶ ̶{̶
app.provider('getUserLanguage',['$injector', function($injector) {
this.$get = ['$http', function($http) { // calling a factory
var userLang = getUserLang.getLang()
return {
getLang: function() {
// ....
}
}
}];
}]);
$injector
서비스가 자동으로 추가됩니다 Provider
구성 객체에 접미사. 구성 개체는 접미사로 .config
추가 된 서비스 이름 으로 함수에 삽입 할 수 있습니다 Provider
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다