как использовать localStorageService в конфигурации модуля $translateProvider

Я использовал angular-translate и angular-local-storage с MEANjs, все добавлено в зависимости модуля,

в приложении config.js:

  var service = {
    applicationEnvironment: window.env,
    applicationModuleName: applicationModuleName,
    applicationModuleVendorDependencies: ['ngResource', 'ngAnimate', 'ngMessages', 'ui.router', 'ui.bootstrap', 'ngFileUpload', 'ui-notification',
      'LocalStorageModule', 'pascalprecht.translate', 'angularMoment', 'ngFileSaver', 'ngSanitize', 'uiCropper', 'hc.marked'],
    registerModule: registerModule
  };

и в init.js:

  angular
    .module(app.applicationModuleName)
    .config(localStorageModuleConfig)
    .config(transConfig);

  localStorageModuleConfig.$inject = ['localStorageServiceProvider'];
  function localStorageModuleConfig(localStorageServiceProvider) {
    console.log('localStorageModuleConfig');
    localStorageServiceProvider
      .setPrefix('meanTorrent')
      .setStorageType('localStorage')
      .setDefaultToCookie(true)
      .setNotify(true, true);
  }

  transConfig.$inject = ['$translateProvider', 'localStorageService'];
  function transConfig($translateProvider, localStorageService) {
    $translateProvider.useSanitizeValueStrategy(null);

    var user_lang = navigator.language || navigator.userLanguage;
    user_lang = user_lang.substr(0, 2) || 'en';

    var storage_lang = localStorageService.get('storage_user_lang');
    user_lang = storage_lang || user_lang;

    $translateProvider.preferredLanguage(user_lang);
  }

Я уже включил все файлы .js в html, при запуске я получил ошибку Unknown provider: localStorageService, я знаю в части конфигурации, должен использоваться поставщик, но если я использовал localStorageServiceProvider в transConfig, он не может .get('storage_user_lang')

любой способ использовать службу в конфигурации? или как использовать провайдера для вызова метода самообслуживания?


person taobataoma    schedule 05.05.2017    source источник


Ответы (1)


Вы не можете внедрить службу в блок конфигурации (только провайдеры и константы),

Я использовал window.localStorage для решения этой проблемы localStorage .

person Gal Koren    schedule 21.01.2019