2016-11-10 6 views
1

Я хочу добиться того, чтобы пользовательский элемент и привязывал css непосредственно к этому элементу из родителя, а также из пользовательского элемента.Aurelia - Переопределение привязки css внутри настраиваемого элемента

родитель:

<div> 
    <custom-element css="height: ${heightProperty}"></custom-element> 
</div> 

пользовательский элемент:

<template css="width: ${widthProperty}"> 
</template> 

Но ширина и высота не будут переплетены в то же время. Только тот, который был привязан (изменен) последним, вступит в силу. Но слияние, похоже, работает при установке свойства класса. Так эта ошибка или предназначена?

+0

Вы не могли бы разместить это шаблонную привязку репо как ошибка, чтобы мы могли обсудить, если это ошибка или предназначенный поведение? Спасибо :-) –

+0

@AshleyGrant. Честно говоря, я бы ожидал, что внешняя привязка (по одному свойству) просто переопределит самую внутреннюю. Я утверждаю, что тот факт, что это работает с свойством 'class', является следствием того, что' classList' является массивом (который использует наблюдатель коллекции) в отличие от 'style' (который является объектом), но все же непреднамеренным , нет? –

ответ

3

Не уверен, что это способ пойти/сделать правильный путь, но что происходит, когда вы добавляете связанное свойство CSS в свой пользовательский элемент?

Как это:

import { bindable } from 'aurelia-framework'; 
export class customElement { 
    @bindable() 
    css = ''; 
} 

, а затем в вашем HTML

<template css="width: ${widthProperty} ${css}"> 
</template> 
+0

Это работает. Но все же я считаю это обходным путем. Редактировать: но