config.globalResources的问题

时间:2016-11-07 18:50:52

标签: aurelia aurelia-framework

我是Aurelia的新手。

我正在尝试使用不同的日期选择器,我遇到了一个奇怪的问题,即最后一个globalResources配置会覆盖前一个。

我有以下代码:

配置:

main.js

export async function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging()
    .feature('components/controls');

  await aurelia.start();
  aurelia.setRoot('app');
}

部件/控制/ index.js

export function configure(config) {
    config.globalResources(
        './bootstrap-datepicker',        
        './jquery-datetimepicker',        
    );
}

自定义属性:

自举-datepicker.js

...
@customAttribute('bootstrap-datepicker')
@inject(Element)
export class BootstrapDatePickerCustomAttribute {
    ...
}

的jquery-的DateTimePicker

...
@customAttribute('jquery-datetimepicker')
@inject(Element)
export class JQueryDateTimePickerCustomAttribute {
    ...
}

组件: html的

<template>
    ...
    <input type="text" bootstrap-datepicker value.bind='myDate'>

    ...
    <input type="text" jquery-datetimepicker value.bind='myDate2'>
</template>

的.js

export class Controls {
    myDate = null;
    myDate2 = null;

    constructor() {
    }
}

在这种情况下,两个输入都将显示 jquery-datetimepicker 。如果我像这样更改 index.js

export function configure(config) {
    config.globalResources(
        './jquery-datetimepicker', 
        './bootstrap-datepicker',    
    );
}

两个输入都会显示 bootstrap-datepicker

当我 console.log(element)时,两个属性都会收到正确的元素,但两个输入中只显示其中一个。

我做错了什么?有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

<强>更新

此答案无效,正如评论中提到的那样,config.globalResources()实际上同时接受Array和单独的字符串作为参数。问题的原因在别处。

<强> ORIGINAL

config.globalResources()方法接受Array。你改为给它多个字符串。

试试这个:

export function configure(config) {
  config.globalResources([
    './bootstrap-datepicker',
    './jquery-datetimepicker'    
  ]);
}