는 믹스 인 라이프 사이클을 잘 알고 누군가가 나 조언을 주시겠습니까 요청합니다믹스 인 스크립트는
(사용 태피스트리 5.3.6)
난 '에서 일부 자바 스크립트를 트리거하는 믹스 인을 afterRender '. 필드의 clientId를 초기화해야하기 때문에 'afterRender'에서이 작업을 수행합니다.
페이지가 처음 렌더링 될 때 연결되는 필드가 렌더링되면 좋지만 영역 업데이트/xhr 요청의 일부로 렌더링 된 경우에는 스크립트가 클라이언트에 보내지지 않습니다.
JavaScriptCallback을 중단하고 ajaxResponseRenderer에 성공적으로 추가되면 호출되지 않습니다.
고마워요!
코드 예는 :
public class MyMixin
{
...
void afterRender()
{
addScript("MyMixin.create('%s', '%s');", field.getClientId(), myVariable);
}
private void addScript(final String format, final Object... args)
{
if (!request.isXHR())
{
jsSupport.addScript(InitializationPriority.NORMAL, format, args);
return;
}
ajaxResponseRenderer.addCallback(new JavaScriptCallback()
{
@Override
public void run(JavaScriptSupport javascriptSupport)
{
javascriptSupport.addScript(InitializationPriority.NORMAL, format, args);
}
});
}
}
과 같을 것이다 당신입니다 반 바로 .. 나는 더 이상 AjaxResponseRenderer을 통해 갈 필요가 - 그러나 그것은 때문이 아니라 AjaxResponseRendererImpl의, JavascriptSupport 지금 때문에 'partialMode'이다 – pstanton