首页 > 解决方案 > 如何在 Smarty 模板引擎中使用条件渲染 HTML 标签?

问题描述

我有一个带有三个选项的选择标签。我想用它们中的每一个{if}{/if}来检查是否显示条件,但是当它使用内容呈现第一个选项时会导致问题

<option value="? string:detail ?" selected></option>

这是我的代码:

<select ng-model="report_type" name="report_type">
   {if (isReportView)}<option value="detail">Detail view</option>{/if}
   {if (isReportView)}<option value="summary">Summary view</option>{/if}
   {if (isSalaryView)}<option value="salary">Salary view</option>{/if}
</select>

使用isReportViewis false,第一个和第二个没有显示是正确的,但它也呈现了另一个选项标签,正如我上面提到的。那么如何防止它呈现该选项呢?

标签: phpangularjssmarty

解决方案


在 Angular 中你使用 "ng-show" 来显示或隐藏。例如在您的代码中:

<select ng-model="report_type" name="report_type">
   <option ng-show="isReportView" value="detail">Detail view</option>
   <option ng-show="isReportView" value="summary">Summary view</option>
   <option ng-show="isSalaryView" value="salary">Salary view</option>
</select>

推荐阅读