Grails Load r:require

时间:2014-04-04 19:31:55

标签: grails

在我的ApplicationResources.groovy中我有

modules = {
    common {
        dependsOn('jquery')
        resource url: 'js/jquery.datetimepicker.js'
        resource url: 'css/jquery.datetimepicker.css'
    }
}

我的index.gps有这个头脑

<r:require modules="common"/>

在我的layout.gsp中:

<r:layoutResources/>

但是当我使用

时,它给了我这个错误:Uncaught TypeError: Object [object Object] has no method 'datetimepicker'
<script>
    $('#datetimepicker').datetimepicker();
</script>

,另一个错误是我使用It looks like you are missing some calls to the r:layoutResources tag. After rendering your page the following have not been rendered: [defer]

<r:script>
    $('#datetimepicker').datetimepicker();
</r:script>

我对r:script vs script感到困惑。有什么我想念的吗?当我正在检查时,只加载jquery和css。

1 个答案:

答案 0 :(得分:3)

您的布局GSP中需要两个单独的<r:layoutResources/>实例,一个位于</head>之前,另一个位于</body>之前。第一个将使用“head”处理来渲染资源,第二个将使用“defer”渲染那些资源。

由于layoutResources标记位于头部/正文的末尾,因此生成的脚本标记或CSS链接将显示在您定义的任何普通<script>之后。但<r:script>将排队等候<r:layoutResources/>以适当的处置方式输出, 后,它已呈现<r:require>请求的资源。