有没有办法将mixins添加到组件内部的用法

时间:2017-12-16 18:16:04

标签: tapestry

考虑Article文件中使用的组件tml,如下所示:

<t:article id="id">
    <t:contols model="articleControls" />
</t:article>

tml组件的Article如下所示:

<article class="app-some-wrapper-class">
  <h2>${title}</h2>
  <h3>${subtile}</h3>
  <body t:mixins="decorator" decorator="shadow" /> <!-- note the use of a mixin here -->
</article>

我需要将mixin应用于<body/>参数,但此实现会抛出ApplicationExpection。这样做的正确方法或替代方法是什么?

2 个答案:

答案 0 :(得分:0)

<body t:type="any" t:mixins="decorator" decorator="shadow" />

upd:参考关于任何的t5 doc: https://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/components/Any.html

答案 1 :(得分:0)

xl0e&#39的答案有效,因为你只能将一个mixin应用到一个挂毯组件(由以t开头的标签标识)只是一个HTML标签,而不是一个挂毯组件。要将mixin应用于它,可以通过添加t:any属性将其转换为tapestry组件。

如果代码写成<t:any element="body" t:mixins="decorator" >...</t:any>

,可能会更清楚