Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有理由在grails中使用JavaScript库插件,通过TagLibs公开给定的库,而不是直接使用它?_Javascript_Grails_Taglib - Fatal编程技术网

有没有理由在grails中使用JavaScript库插件,通过TagLibs公开给定的库,而不是直接使用它?

有没有理由在grails中使用JavaScript库插件,通过TagLibs公开给定的库,而不是直接使用它?,javascript,grails,taglib,Javascript,Grails,Taglib,如果您搜索grails插件站点,您将找到许多JQuery和其他JavaScript库的插件。其中大多数通过Grails标记库公开给定的JavaScript库功能。这真的是一个优势吗?如果是,原因是什么?只是javascript库的一个扩展。它没有提供Javascript本身没有的新特性。然而,当你做(但不限于)以下事情时,它确实会让你的生活变得更加轻松 Dom操作 树遍历 阿贾克斯 还有更多 当你只是在这里或那里做一些简单和小的事情时,这是没有必要的。但通常情况下,当你在做一个大项目时,包含

如果您搜索grails插件站点,您将找到许多JQuery和其他JavaScript库的插件。其中大多数通过Grails标记库公开给定的JavaScript库功能。这真的是一个优势吗?如果是,原因是什么?

只是javascript库的一个扩展。它没有提供Javascript本身没有的新特性。然而,当你做(但不限于)以下事情时,它确实会让你的生活变得更加轻松

  • Dom操作
  • 树遍历
  • 阿贾克斯
  • 还有更多

当你只是在这里或那里做一些简单和小的事情时,这是没有必要的。但通常情况下,当你在做一个大项目时,包含jQuery(31 KB和1个HTTP请求)并利用它是有意义的。

要回答你的实际问题,即使用TagLibs公开JavaScript功能是否是一种优势,我的答案通常是否定的。但你可能会得到和那些同意我的人一样多的人不同意我的观点。尤其是那些花时间创建这些标记库的人


我只是觉得直接处理JavaScript比使用taglib容易得多。我可以考虑的唯一例外是Graves给了远程标签,但我个人仍然不使用它们。例如,如果您想创建一个链接来提交一个AJAX请求并用响应更新一个DIV,我发现编写起来更容易

<g:remoteLink action="show" id="1" update="myDiv" 
        onLoading="showSpinner();">Click Me</g:remoteLink>
点击我
而不是相应的JavaScript

如果您安装了JQuery插件,并决定用Prototype替换JQuery(例如),那么在用Prototype插件替换JQuery插件后,上面的标记应该继续工作。如果您只是将.js文件复制到
webapp/js
(而不是使用插件),这将是不可能的


最终,如果您使用JS插件,您的应用程序“知道”正在使用哪些JS库。其他插件(例如)可以利用这些信息为您带来好处。

这似乎没有回答这个问题。我想Pete是在问使用Grails标记和使用普通的旧脚本标记来包含jQuery的优点。啊,我相信你是对的。我以为他是在问问题的标题,我个人觉得有时有点误导,特别是如果你不使用远程标记库的话。有时你会在门户网站上发现这些插件,你认为它们有一些额外的功能,但你会发现它们所做的只是为你添加javascript标记,我觉得这些标记没有用。是的,正如你所指出的,我同意使用grails远程标记是有益的。然而,大多数第三方标记库不是这样写的。在尝试了这两种方法之后,我接受了你的答案。我发现,使用带有remoteLink等标记的插件,代码更清晰,引入自己JavaScript错误的可能性更小