【问题标题】:ngx-bootstrap "en" locale missingngx-bootstrap“en”语言环境丢失
【发布时间】:2018-06-04 15:03:08
【问题描述】:

我正在使用 ngx-bootstrap 工作,我需要 datepicker 的语言环境部分。 https://valor-software.com/ngx-bootstrap/#/datepicker#locales 我在上面的网站上查了一下,我看到了这个:

On this picture i can see "en" locale which shows an english datepicker starting on sunday

问题:我的 app.module.ts 中只有“enGb”语言环境

Here "en" locale causes an error

有什么解决方案,所以我可以在星期天启动“enGb”日期选择器,或者获取已经在星期天自行启动的“en”语言环境。

提前感谢您的关注。

(我使用@2.0.5 ngx-bootstrap 版本)

【问题讨论】:

    标签: angular datepicker locale ngx-bootstrap


    【解决方案1】:

    在我的 Angular 项目升级期间,我为 ngx-bootstrap(版本:2.0.5)调整了以下内容:

    // OLD CODE: import { defineLocale }      from 'ngx-bootstrap/bs-moment';
    import { defineLocale }                   from 'ngx-bootstrap/chronos';
    
    // OLD CODE: import { nl, es, enGb }      from 'ngx-bootstrap/locale';
    import { nlLocale, esLocale, enGbLocale}  from 'ngx-bootstrap/locale';
    
    setLocale(lang: string) {
        // Default locale corresponds with lang
        let locale = lang;
        switch (lang) {
          case 'nl': {
            // OLD CODE:  defineLocale('nl', nl);
            defineLocale('nl', nlLocale);
            break;
          }
    ...
    }
    

    然后它起作用了。

    【讨论】:

      【解决方案2】:

      我对这个问题的解决方案是改变:

      defineLocale('en', enLocale); // throws error because enLocale doesn't exist
      

      到:

      defineLocale('en'); // works, week is starting on sunday
      

      根据他们的源文件,“en”是不使用配置参数时使用的默认语言。我还没有找到任何关于此的文档,所以我希望这对面临此问题的其他人有用。

      【讨论】:

        【解决方案3】:

        编辑:从他们的源文件中找到可能的解决方案,似乎您必须导入语言环境,而不是从语言环境文件夹,而是从 ngx-bootstrap/chronos 文件夹

        这是我尽量远离 ngx-bootstrap 的众多原因之一,他们有很多错误,还有很多他们从未解决的未解决问题。他们遇到了下拉菜单实际上不起作用的问题,就像 6 个月的大部分时间一样,不确定他们是否修复了它。我使用https://ng-bootstrap.github.io/#/home 作为替代方案。

        另外,检查这个文件,在他们的 github 上:https://github.com/valor-software/ngx-bootstrap/blob/development/src/locale.ts 你会注意到 enLocale 在那里也找不到。所以,这看起来是 valorsoft 的另一个错误。

        我没有使用他们的名为 chronos 的库,但如果您将其安装到您的项目中,您可以尝试直接从 chronos 库导入。(快速谷歌搜索不会返回任何关于 chronos 库的内容。)

        【讨论】:

        • 感谢您对看起来相当不错的替代方案的建议。如果我没有其他好的解决方案,我会考虑的。我将其用于专业需求,我不想引起回归。
        • 是的,我一直尝试使用 ngx 很多次,但我总是一次又一次地发现至少有一个组件存在错误。我只是在看演示。看起来你需要从 ngx-bootstrap/chronos 导入语言环境而不是语言环境,这很奇怪。来源:github.com/valor-software/ngx-bootstrap/blob/development/demo/…
        猜你喜欢
        • 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-03-12
        相关资源
        最近更新 更多