使用自定义元素

时间:2016-02-17 21:25:38

标签: aurelia aurelia-binding

我有一个Aurelia应用程序,我正在尝试构建CMS组件。此组件将从服务器加载数据,此数据主要包含slug, title and content个字段。

我的应用程序中还定义了几个全局组件,我希望能够在服务器中使用这些组件,因此当我提取该数据时,我的CMS组件能够转换/编译这些自定义元素。

一个例子是标签组件。我有定义了这种结构的制表符组件:

<tab-panel>
    <tab title="First"></tab>
    <tab title="Second"></tab>
</tab-panel>

CMS组件将包含content属性,我用它来传递这样的字符串:'<tab-panel><tab title="First"></tab><tab title="Second"></tab></tab-panel>'

组件需要编译该字符串并在其视图中呈现它。我已经检查了enhance API,但它不起作用,至少对我而言。任何其他动态编译/渲染自定义元素的建议??

提前多多感谢。

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。我使用了compose元素和InlineViewStrategy,它运行良好,组件显示和绑定按预期工作。

答案 1 :(得分:0)

如果使用globalResources全局注册自定义元素,您实际上可以使用TemplatingEngine将内容动态插入DOM,然后在事后编译它。 This blog post详细介绍了如何做到这一点。

但是,我会将此作为最后的手段。在大多数情况下总是如此,在Aurelia有更好的办法。使用<compose>元素是在Aurelia应用程序中动态呈现内容的绝佳方式,应始终是第一个调用端口。