2016-11-07 11 views
0

Я новичок в Aurelia.Проблема с config.globalResources

Я экспериментировал с разными дампикерами, и я столкнулся с странной проблемой, когда последняя 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() { 
    } 
} 

В этом случае оба входа Wi ll показать jquery-datetimepicker. Если изменить index.js так:

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

Оба входа покажут самозагрузки-DatePicker

Когда я console.log (элемент) оба атрибута Получать правильный элемент, но все же только один из них показывает на обоих входах.

Что я делаю неправильно? Есть идеи?

Спасибо!

+1

Вы не могли бы разместить свой код на GitHub сутью? Предпочтительно, чтобы один из них разворачивался отсюда: https://gist.run/?id = c6f4ecf8f308037a92b3cee5ff40fed1 –

+0

Это именно то, как ваш код регистрирует ресурсы? Из того, что я знаю, вы должны передавать массив для нескольких ресурсов, а не отдельных строк. –

+0

Я пробовал с массивом, результат тот же. Создание сущности теперь. Спасибо – DimitarKostov

ответ

0

UPDATE

Этот ответ является недействительным, как принесено в комментариях, config.globalResources() фактически принимает одновременно Array и отдельные строки в качестве Params. Причина проблемы в другом месте.

ОРИГИНАЛ

Метод config.globalResources() принимает Array. Вместо этого вы даете ему несколько строк.

Попробуйте это:

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

Да, большинство примеров неверны. Но в любом случае я попытался использовать массив, но результат тот же. Теперь я создаю суть. Спасибо – DimitarKostov

+0

Почему вы все равно используете атрибуты? Кажется, что я вместо этого использовал бы пользовательские элементы. '' – Travo

+0

Да, это следующий шаг, но я хочу иметь доступ к обоим. :) Плюс я изучаю рамки, я хочу попробовать все :) – DimitarKostov