有没有办法将 mixins 添加到组件内部 <body /> 的使用中
Is there a way to add mixins to the usage of <body /> inside a component
考虑在 tml
文件中使用的 Article
组件,如下所示:
<t:article id="id">
<t:contols model="articleControls" />
</t:article>
Article
组件的tml
表示如下:
<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
。执行此操作的正确方法或替代方法是什么?
<body t:type="any" t:mixins="decorator" decorator="shadow" />
upd:请参阅 t5 文档:
https://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/components/Any.html
xl0e 的答案有效,因为您只能将 mixin 应用于挂毯组件(由以 t: 开头的标签标识)只是一个 HTML 标签,而不是挂毯组件。要将你的 mixin 应用到它,你可以通过添加 t:any 属性将它转换为一个挂毯组件。
代码写成<t:any element="body" t:mixins="decorator" >...</t:any>
可能会更清楚
考虑在 tml
文件中使用的 Article
组件,如下所示:
<t:article id="id">
<t:contols model="articleControls" />
</t:article>
Article
组件的tml
表示如下:
<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
。执行此操作的正确方法或替代方法是什么?
<body t:type="any" t:mixins="decorator" decorator="shadow" />
upd:请参阅 t5 文档: https://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/components/Any.html
xl0e 的答案有效,因为您只能将 mixin 应用于挂毯组件(由以 t: 开头的标签标识)只是一个 HTML 标签,而不是挂毯组件。要将你的 mixin 应用到它,你可以通过添加 t:any 属性将它转换为一个挂毯组件。
代码写成<t:any element="body" t:mixins="decorator" >...</t:any>