remoteLink用于在Grails项目中调用服务器处理程序,如下所示。我可以将blockUi方法放在onLoading中以使远程调用友好。如果有一个remoteLink,我可以为每个remoteLink执行此操作。但如果有很多remoteLink,重复这个并不是我想象中的好习惯。
我想使用GSP标签。有没有像remoteLink ajax loading事件的拦截器这样的方法来做它而不重复?如果有,那么通过放置如下标签可以从blockUi中排除一些remoteLink会更好:except ='true'
非常感谢您的帮助!
<g:remoteLink action="show"
id="1"
update="success"
onLoading="blockUi()"
onComplete="hideProgress()">Show Book 1</g:remoteLink>
答案 0 :(得分:1)
默认情况下,您可以创建自己的TagLib
并使用remoteLink
致电onLoading
。
class AjaxTagLib {
static namespace = "my" //define a namespace to not conflict with g
def remoteLink = { attrs ->
//default onLoading attribute
if(!attrs.onLoading) {
attrs.onLoading = "blockUi()"
}
g.remoteLink(attrs)
}
}
然后你可以使用g.remoteLink
的那个instad:
<my:remoteLink action="show" id="1" update="success">Show Book 1</my:remoteLink>