据我所知,他们都隐藏/显示DOM元素,具体取决于是否满足条件。是否有使用其中一个的规则或指南?
答案 0 :(得分:4)
这两者都有很大的不同。
<g:if>
标记,它是Grails / GSP标记,如果测试条件通过,则在服务器上执行以呈现<g:if>...</g:if>
块中的内容。示例 - 假设您通过服务器发送一些数据或从服务器检索数据,那么您可以使用<g:if>
标记检查某些条件,并根据您在服务器上的需要过滤掉数据。因此,在这种情况下,如果由<g:if>
过滤,则数据/ DOM元素将无法到达客户端。
ng-if
,它是角度js代码,在客户端执行,可用于提供应用程序的动态特性。示例 - 在这种情况下,我们从服务器和客户端获取所有数据/ DOM元素,因为ng-if
过滤了过滤后的数据/ DOM元素,并且其他数据/ DOM元素被删除。
您甚至可以根据需要同时使用它们。
答案 1 :(得分:1)
<g:if>
不包含将HTML包含在服务器响应的输出中。 ng-if
只是客户端(或多或少只是隐藏在浏览器中,如果没有JS使用,很可能无法处理或完成)。你可以混合两者。这取决于,如果您需要HTML(例如,对非JS客户端的响应)。