「Express Handlebars 取得父層變數內容」相關筆記

問題描述

環境

express-handlebars: 5.3.2
handlebars-helpers: 0.10.0

解決方式

將 handlebars 端的內容修改如下(restaurant.category加上../):

<!-- handlebars端 -->
{{#each categories}}
  {{#is this ../restaurant.category)}}
  <option value="{{this}}" selected>{{this}}</option>
  {{else}}
  <option value="{{this}}">{{this}}</option>
  {{/is}}
{{/each}}

參考 Handlebars 官方文件的說明:

Some helpers like #with and #each allow you to dive into nested objects. When you include ../ segments in your path, Handlebars will change back into the parent context.

在巢狀結構中,使用../來取得上一層變數的內容

參考文件