2017-09-05 36 views
2

我将项目切换到模块。所以大多数情况都在起作用,但一些组件有一些问题。主要问题似乎本地化文件。 如果我有这个例子的解决方案,我可以解决我的项目中的其他问题。RequireJS + Bootstrap日期选择器+语言环境文件

我使用的是引导日期选择器从这里https://bootstrap-datepicker.readthedocs.org/

Requirejs配置:

require.config({ 
    baseUrl: "Scripts",  
    paths: { 
     ... some more like jquery and jquery-ui... 
     "bootstrap-datepicker": "bootstrap-datepicker", 
     "bootstrap-datepicker-de": "./locales/bootstrap-datepicker.de",  
    } 
    shim: { 
    'bootstrap-datepicker-de': ['bootstrap-datepicker'] 
    } 
}); 

App.ts:

... some more imports like jquery and jquery-ui... 
import "bootstrap-datepicker"; 
import "bootstrap-datepicker-de"; 
... init App ... 

引导-datepicker.de.js

; (function ($) { 
    $.fn.datepicker.dates['de'] = { 
     days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], 
     daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"], 
     daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], 
     months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 
     monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 
     today: "Heute", 
     monthsTitle: "Monate", 
     clear: "Löschen", 
     weekStart: 1, 
     format: "dd.mm.yyyy" 
    }; 
}(jQuery)); 

当我打开我的网页我得到这个错误:

bootstrap-datepicker.de.js:7 Uncaught TypeError: Cannot set property 'de' of undefined 
at bootstrap-datepicker.de.js:7 
at bootstrap-datepicker.de.js:19 

回答

0

我们有同样的问题,并通过移动这个代码到我们的视图模型

$(document).ready(() => { 
     (function($){ 
      (<any>$.fn.datepicker).dates['de'] = { 
       days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], 
       daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"], 
       daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], 
       months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 
       monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 
       today: "Heute", 
       monthsTitle: "Monate", 
       clear: "Löschen", 
       weekStart: 1, 
       format: "dd.mm.yyyy" 
      }; 
     }($)); 

     $('#date').datepicker({ 
      format: 'dd.mm.yyyy', 
      autoclose: true, 

      language: "de", 

      orientation: 'left bottom' 
     }); 
    }); 
+0

没有一个很好的解决方案的构造方法解决了这个问题,但似乎唯一的工作解决方案 –