2015-09-22 128 views
0

我的场景:Grails Ajax:渲染模板不拾取父资源(js)

我正在使用grails remoteFunction,它是呈现模板。我在使用一些Jquery方法的渲染模板上有一个滑块。以前,我将js保存在此模板中,但问题与性能有关。每次ajax加载导致性能问题的jquery类。

有没有办法在通过Ajax渲染后通过模板获取父资源?

内index.gsp中页:

<g:if test="${action=="individual"}"> 
    <g:render template="individual" /> 
</g:if> 
<g:if test="${action=="project"}"> 
    <g:render template="project" /> 
</g:if> 

<asset:javascript src="bootstrap/jquery-1.10.2.js"></asset:javascript> 
<asset:javascript src="bootstrap/bootstrap-slider.js"></asset:javascript> 
<asset:javascript src="resource_utilization/slider.js"></asset:javascript> 
<asset:javascript src="resource_utilization/resource-utilization.js"></asset:javascript> 
<asset:javascript src="jquery.blockUI.js"></asset:javascript> 

在控制器:

render template:"individual" 

回答

0

请仔细阅读本link。当你在父代中渲染模板时,你的jquery将无法工作。为了达到这个目的,你必须重新激活js资源。

我做了以下工作。在父gsp中加载所有资源并添加一个方法来初始化滑块。

<script type="text/javascript"> 
     function refreshUI() { 
      // your slider initialization code goes here 

     }; 
    </script> 

在模板最后只需调用父函数。

<script> 
refreshUI(); 
</script> 

这将刷新您的用户界面,一切都会正常工作。