什么时候使用 grails <g:if test> vs angular ng-if ?

When to use grails <g:if test> vs angular ng-if ?

据我所知,它们都是 hide/show DOM 元素,具体取决于是否满足条件。是否有使用其中一个的规则或指南?

<g:if> 不会将包含的 HTML 包含到服务器响应的输出中。 ng-if 仅是客户端(或多或少只是将其隐藏在浏览器中,如果不使用 JS,很可能不会处理或完成)。你可以混合两者。这取决于您是否需要 HTML 在那里(例如,用于响应非 JS 客户端)。

这两者有很大的不同。

  1. 第一个是<g:if>标签,它是一个Grails/GSP标签,如果测试条件通过,则在服务器上执行以呈现<g:if>...</g:if>块中的内容。

示例-假设如果您通过服务器发送一些数据或从服务器检索数据,那么您可以使用 <g:if> 标记来检查某些条件并根据您在服务器上的需要过滤掉数据只要。所以总的来说,在这种情况下,data/DOM 元素,如果被 <g:if> 过滤,将不会到达客户端。

  1. 第二个是 ng-if,它是 angular js 代码,在客户端执行,可用于服务于应用程序的动态特性。

示例 - 在这种情况下,我们从服务器和客户端获取所有 data/DOM 元素,因为 ng-if 过滤了过滤后的 data/DOM 元素,其他 data/DOM 元素被删除。

您甚至可以根据需要将两者结合使用。