2016-05-23 3 views
2

У меня есть пользовательский элемент, который определяет кадр виджета универсального пользовательского интерфейса с различными параметрами по умолчанию для связывания, часть шаблона для добавления дополнительных опций «панели инструментов» и общего назначения <content /> для тела ,Вложенные пользовательские элементы в Aurelia не отображаются как ожидалось

У меня есть другой пользовательский элемент для некоторых административных функций. Последний элемент должен представлять себя как виджет, и он также имеет различные части шаблона.

Однако, если я попытаюсь внедрить прежний элемент виджетов в последний административный элемент, ни один из содержимого не будет отображаться.

Вот упрощенный пример:

элемент, например, блок (виджет)

<template> 
    <div style="padding: 10px; background-color: #bbffff"> 
    <content></content> 
    </div> 
</template> 

например, элемент списка (Admin)

<template> 
    <require from="./eg-block"></require> 
    <eg-block> 
    <div>Start of List</div> 
    <content></content> 
    <template replaceable part="list-part">Default List Part</template> 
    <div>End of List</div> 
    </eg-block> 
</template> 

Содержащие Page

<template> 
    <require from="./eg-list"></require> 
    <eg-list> 
    <template replace-part="list-part">Replaced List Part content</template> 
    <div>Replaced regular content</div> 
    </eg-list> 
</template> 

Я надеялся, что результаты этого быть:

<div style="padding: 10px; background-color: #bbffff"> 
    <div>Start of List</div> 
    <div>Replaced regular content</div> 
    <div>Replaced List Part content</div> 
    <div>End of List</div> 
</div> 

Но вместо этого он дает мне:

<div style="padding: 10px; background-color: #bbffff"> 
    <div>Start of List</div> 
    <div>End of List</div> 
    <div>Default List Part</div> 
</div> 

Так что не делает Лист контент или заменить часть шаблона, что указывается на странице содержания. Но, кроме того, содержимое по умолчанию части шаблона списка фактически отображается после списка.

Является ли это ожидаемым поведением? И если это так, есть ли способ сохранить использование элемента widget/block внутри элемента admin/list, но чтобы он отображал то, как я надеялся?

ответ

0

Я в основном копировать/вставить мой ответ от this question здесь, но здесь идет:

Позвольте мне предварить этот ответ, говоря, что проекция содержание полностью меняется (и лучше) в Aurelia RC1. Мы переходим к проекции контента на основе слота, чтобы соответствовать новейшей версии спецификаций теней DOM. Эта спецификация намного мощнее, чем селекторная установка, в которой Aurelia имеет текущий (основанный на более ранней версии спецификации Shadow DOM). Это единственное нарушение, которое мы запланировали между настоящим и полным 1,0 Аурелия.

Так что все, что я вам говорю, скоро будет устаревшим.

В то же время элемент в вашем представлении пользовательского элемента должен находиться в корневом каталоге шаблона. Что касается того, почему Aurelia ведет себя так, ну, это bug :-) Он был исправлен в новом implementation.

Мы только что выпустили blog post относительно новой реализации слота, если вы хотите увидеть, как все будет работать.

+0

Отлично. Я видел, что сообщение прибывает в блог вскоре после того, как я разместил здесь! Дает ему вихрь –

Смежные вопросы