对于内容稍有不同的多个页面重复使用单个视图文件的最佳实践

时间:2019-06-03 21:36:16

标签: html templating nunjucks

如果您有一个视图文件要在不同的页面(例如页面标题略有不同)中重复使用,那么以下三种方法中是否有“最佳方法”? (考虑关注点分离,业务/表示逻辑等)

例如,如果我有相同的“您的地址是什么”页面,但有许多不同的帐户类型,例如慈善帐户,个人帐户,企业帐户等,分别需要不同的页面标题。

(a)传递控制器中的特定页面标题

  • CharityAccountController:return h.view({ pageHeading: "What is the charity's registered address?"})
  • PersonalAccountController:return h.view({ pageHeading: "What is your address?"})
  • 查看文件:<pageHeading>{{ pageHeading }}</pageHeading>

(b)在控制器中传递一个帐户类型标志,并在视图中具有一些条件逻辑来设置标题:

  • CharityAccountController:return h.view({ isCharityAccount: true })
  • PersonalAccountController:return h.view({ isPersonalAccount: true })
  • 查看文件:<pageHeading> { if isCharityAccount } What is the charity's registered address? { else if isPersonalAccount } What is your address? { else … } </pageHeading>

(c)为每个页面使用单独的视图文件,尽可能抽象为常见的“部分”

还可能存在其他特定于帐户类型的页面元素,例如提示文本,验证错误消息。某些元素可能需要根据帐户类型显示/隐藏。

0 个答案:

没有答案