【问题标题】:Output facet inside of nested composite component嵌套复合组件内的输出构面
【发布时间】:2013-01-31 15:54:18
【问题描述】:

我有一个组件,用于在其子元素周围添加一个容器。该组件在其他组件中使用没有任何问题。但我希望能够使用这样的方面:

<!-- INTERFACE -->
<cc:interface>
    <cc:attribute name="detailTitle" />
    <cc:facet name="header"/>
</cc:interface>

<!-- IMPLEMENTATION -->
<cc:implementation>
    <li class="mvkcomp listItem listDetailToggle">
        <ezcomp:container>
            <div class="listItemBody">
                <div class="header">
                    <!-- Facet not being rendered -->
                    <cc:renderFacet name="header" />

                    <a href="#">Show/hide #{cc.attrs.detailTitle}</a>
                </div>
                <div class="detail">
                    <cc:insertChildren />
                </div>
            </div>
        </ezcomp:container>
    </li>
</cc:implementation>

然而这不会渲染任何东西。如果将&lt;cc:renderFacet&gt; 移到&lt;ezcomp:container&gt; 之外,它将按预期工作。是否有我没有看到的替代方法,或者我只需将liezcomp:container 移出组件即可使其工作?无论如何,这是首选的替代方案吗?

哦,&lt;cc:insertChildren&gt; 按预期工作。对我来说似乎很奇怪,一个会失败,而另一个不会。

【问题讨论】:

    标签: jsf-2 composite-component facet


    【解决方案1】:

    我选择处理此问题的方法是将包装器元素实现为模板。然后我使用 ui:decorate 在复合组件内输出该模板。原来的包装器现在只在插入子模板之前输出模板。

    【讨论】:

      猜你喜欢
      • 2014-12-16
      • 2012-11-18
      • 2014-03-07
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      • 2011-09-14
      相关资源
      最近更新 更多