我的场景:
我正在使用正在渲染模板的 grails remoteFunction。我在渲染模板上有一个 slider ,它使用了一些 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>
在 Controller 中:
render template:"individual"
最佳答案
请阅读 link .当您在父级中渲染模板时,您的 jquery 将不起作用。为此,您必须重新激活 js 资源。
我做了以下事情。在父 gsp 中加载所有资源并添加一种方法来初始化 slider 。
<script type="text/javascript">
function refreshUI () {
// your slider initialization code goes here
};
</script>
最后在模板中调用父函数。
<script>
refreshUI();
</script>
这将刷新您的 UI,一切都会正常工作。
关于ajax - Grails Ajax : Render Template not picking up parent resource(js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32717392/