我制作了一个由函数渲染的复合组件:
$(document).ready(function() {
...
}
当我在开头加载页面时,一切正常,但当我添加属性rendered="true|false"
并希望将此组件打开并关闭时,它会生成麻烦,因为$(document).ready(function()
没有调用。
如何从复合组件本身检测到它正在重新加载,rendered
属性设置为true
(最后一个我认为应该是#{cc.rendered}
提前谢谢。
答案 0 :(得分:1)
将内联<script>
(或<h:outputScript>
)添加到复合的有条件渲染部分的底部,该部分应执行所需的函数。
<cc:implementation>
<ui:fragment rendered="#{someCondition}">
...
<script>someFunction();</script>
</ui:fragment>
</cc:implementation>
如果需要,该功能可以委托给$(document).ready()
。