1

我将 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);
  }

我已经在html中包含了所有.js文件,运行时出现错误Unknown provider: localStorageService,我知道在配置部分,必须使用provider,但如果我用localStorageServiceProvidertransConfig,它不能 .get('storage_user_lang')

有什么方法可以在配置中使用服务?或者如何使用提供者调用自助服务的方法?

4

1 回答 1

0

您不能将服务注入配置块(仅提供程序和常量),

我使用 window.localStorage 来解决这个问题localStorage

于 2019-01-21T10:59:23.913 回答