Aurelia 如何为一个位置上的所有实例(例如应用程序构造函数)设置默认MdDatePicker选项(工作日、月份的翻译…)?

Aurelia 如何为一个位置上的所有实例(例如应用程序构造函数)设置默认MdDatePicker选项(工作日、月份的翻译…)?,aurelia,materialize,pickadate,Aurelia,Materialize,Pickadate,使用TypeScript(TSC2.1.4)、JSPM和Aurelia实现的Aurelia项目-bridge@0.20.6. 项目是多语言的(翻译在数据库中,需要时通过“LanguageService”注入),所以我们也需要翻译的MdDatePicker实例 我找到了一种方法来翻译像MonthFull,MonthShort,today这样的属性。。。以这种方式在视图/视图模型中的每个MdDatePicker实例(实际上是pickadate.js picker的属性): <inpu

使用TypeScript(TSC2.1.4)、JSPM和Aurelia实现的Aurelia项目-bridge@0.20.6.

项目是多语言的(翻译在数据库中,需要时通过“LanguageService”注入),所以我们也需要翻译的MdDatePicker实例

我找到了一种方法来翻译像MonthFull,MonthShort,today这样的属性。。。以这种方式在视图/视图模型中的每个MdDatePicker实例(实际上是pickadate.js picker的属性):

    <input md-datepicker="container: body;value.two-way: fromDate;"
           md-datepicker.ref="dpickerFrom" 
           type="date" placeholder=${dtPickTitle} />

    attached(
      var picker = (<any>this).dpickerFrom.picker;    
      var settings = picker.component.settings;

      settings.monthsFull = this.languageService.datePickerTran.monthsFull; // e.g. [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' ]
      settings.today = this.languageService.datePickerTran.today; //e.g."Heute"
      picker.render(true);
    )
但我找不到需要的

这是正确的方法吗?
考虑到给定的平台,有没有办法在一个地方为所有实例设置此属性(默认值)?

我已经告诉OP将我的答案发布到这里。就这样吧…-)

这里有一个可绑定的
选项

该对象在此处合并:

结果用于在此处初始化日期选择器:

现在,如果您访问了这些链接,您可能会在此处看到i18n配置的注释示例(德语字符串):

因此,如果您在
选项中设置i18n属性
bindable,它就可以工作了

<input
  md-datepicker="container: body; value.two-way: selectedDate; options.bind:i18nOptions;"
  type="date" placeholder="pick a date"/>

我当然想把它说得更清楚。

我有一个类似的答案

在我看来,我有

<div class="input-field col s6">                        
    @Html.EditorFor(model => model.FECHAI_VIG, new { htmlAttributes = new { @id = "fechai_vig", @class = "form-control datepicker", @onkeyup = "borrar(this);" } })
    @Html.LabelFor(model => model.FECHAI_VIG, "De", htmlAttributes: new { @class = "active" })                        
</div>

@EditorFor(model=>model.FECHAI_VIG,new{htmlAttributes=new{@id=“FECHAI_VIG”,@class=“form control datepicker”,@onkeyup=“borrar(this);”})
@LabelFor(model=>model.FECHAI_VIG,“De”,htmlAttributes:new{@class=“active”})
在剧本里

<script>
    var elemth = document.querySelector('#fechai_vig');
    var optionsth = { 
        format: 'dd/mm/yyyy',
        i18n: {
            clear: 'Limpiar',
            today: 'Hoy',
            done: 'Seleccionar',
            previousMonth: '‹',
            nextMonth: '›',
            months: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
            monthsShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
            weekdaysShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
            weekdays: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
            weekdaysAbbrev: ['D', 'L', 'M', 'X', 'J', 'V', 'S']
        }
    };
    var instanceth = M.Datepicker.init(elemth, optionsth);  
</script>

var elemth=document.querySelector('fechai_vig');
var optionssh={
格式:“dd/mm/yyyy”,
i18n:{
清楚:“Limpiar”,
今天:'嗨',
完成:'selecciator',
上个月:“嫀”,
下个月:“›”,
月份:['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
月短:['Ene'、'Feb'、'Mar'、'Abr'、'May'、'Jun'、'Jul'、'Ago'、'Sep'、'Oct'、'Nov'、'Dic'],
工作日短:['Dom','Lun','Mar','Mie','Jue','Vie','Sab'],
工作日:[“多明戈”、“卢恩斯”、“马蒂斯”、“米尔科勒”、“朱伊夫斯”、“维尔内斯”、“萨巴多”],
工作日安息日:['D','L','M','X','J','V','S']
}
};
var instanceth=M.Datepicker.init(elemth,optionssh);

我想在这里给出一个答案:-让我们看看这是否有帮助。如果是的话,我可以把它放回这里。:-)是的,这是一个答案!
<div class="input-field col s6">                        
    @Html.EditorFor(model => model.FECHAI_VIG, new { htmlAttributes = new { @id = "fechai_vig", @class = "form-control datepicker", @onkeyup = "borrar(this);" } })
    @Html.LabelFor(model => model.FECHAI_VIG, "De", htmlAttributes: new { @class = "active" })                        
</div>
<script>
    var elemth = document.querySelector('#fechai_vig');
    var optionsth = { 
        format: 'dd/mm/yyyy',
        i18n: {
            clear: 'Limpiar',
            today: 'Hoy',
            done: 'Seleccionar',
            previousMonth: '‹',
            nextMonth: '›',
            months: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
            monthsShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
            weekdaysShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
            weekdays: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
            weekdaysAbbrev: ['D', 'L', 'M', 'X', 'J', 'V', 'S']
        }
    };
    var instanceth = M.Datepicker.init(elemth, optionsth);  
</script>