何时使用grails <g:if test =“”> vs angular ng-if?</g:if>

时间:2015-02-06 15:38:04

标签: angularjs grails

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

2 个答案:

答案 0 :(得分:4)

这两者都有很大的不同。

  1. 第一个是<g:if>标记,它是Grails / GSP标记,如果测试条件通过,则在服务器上执行以呈现<g:if>...</g:if>块中的内容。
  2. 示例 - 假设您通过服务器发送一些数据或从服务器检索数据,那么您可以使用<g:if>标记检查某些条件,并根据您在服务器上的需要过滤掉数据。因此,在这种情况下,如果由<g:if>过滤,则数据/ DOM元素将无法到达客户端。

    1. 第二个是ng-if,它是角度js代码,在客户端执行,可用于提供应用程序的动态特性。
    2. 示例 - 在这种情况下,我们从服务器和客户端获取所有数据/ DOM元素,因为ng-if过滤了过滤后的数据/ DOM元素,并且其他数据/ DOM元素被删除。

      您甚至可以根据需要同时使用它们。

答案 1 :(得分:1)

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