7

读完这篇文章后我才意识到,我无法向自己解释它是如何工作的以及它可以解决什么问题。

是的,它可以用来改变现有组件的行为。但它是如何被限制的?我能做什么,不能做什么?比继承好吗?

这篇文章很有帮助,但我仍然很困惑。

谁能用简单的词来解释Tapestry mixin吗?

4

1 回答 1

7

Tapestry Mixin 是一个受限版本的组件,它应该附加到另一个组件上,并且不能有自己的模板。它可以访问容器参数并且可以引入自己的参数。它并不比继承更好。这是改变组件行为的另一种方式。

所以,你可以用继承不能做的 mixins 做些什么:

  • 您可以更改核心 Tapestry 组件的行为
  • 你可以为一个组件使用多个 mixin

关于 mixinns 的其他一些话:

  • 他们通常会引入一些可以应用于所有组件的通用逻辑,例如在某些客户端事件上提交表单或附加弹出窗口以帮助某些字段
  • 他们可以解决核心组件的一些问题,例如我们有 mixin 可以在上传组件以 ajax 形式使用时修复它
于 2013-07-10T08:23:52.070 回答