【问题标题】:Angular: Changing locale in moment has no effectAngular:即时更改语言环境无效
【发布时间】:2017-12-13 12:23:21
【问题描述】:

我使用 angular2-moment 在我的应用程序中处理日期。我有一个组件,它在时刻的帮助下像 datepicker 一样使用,现在我正在做本地化,我被本地化时刻困住了。我写道:

console.log(moment().locale('de').format('LLLL'));

在我的构造函数中进行检查,但我仍然得到英文版本。是否有任何特殊的导入需要我这样做才能起作用?

【问题讨论】:

    标签: angular typescript localization angular2-moment


    【解决方案1】:

    我添加后它起作用了:

    import * as moment from 'moment';
    import 'moment/min/locales';
    

    【讨论】:

    • 这是有效的,因为第一条语句加载了完整版本的时刻,包括所有语言环境。您不需要第二个语句。
    【解决方案2】:

    我遇到了同样的问题。由于我不知道的原因,来自 webpack 的语言环境文件是空的。

    我发现的一种解决方法是将moment 别名为moment/min/moment-with-locales。这并不理想,但它再次获得了工作语言环境。

    resolve: {
      modules: ['node_modules', ],
      extensions: ['.js', '.jsx', '.react.js'],
      mainFields: ['browser', 'jsnext:main', 'main'],
      alias: {
        // Ensure our moment is locale enabled.
        moment: 'moment/min/moment-with-locales',
      },
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      相关资源
      最近更新 更多