Grails Ajax:渲染模板没有获取父资源(js)

时间:2015-09-22 12:51:43

标签: ajax grails

我的场景:

我正在使用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"

1 个答案:

答案 0 :(得分:0)

请阅读link。在父级内部渲染模板时,您的jquery将无法工作。为此,您必须重新激活js资源。

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

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

        };
    </script>

最后在模板中调用父函数。

<script>
refreshUI();
</script>

这将刷新您的UI,一切都会正常工作。