在Mustache中,是否有可能在子级中从父级读取变量?
例如下面的示例,我希望 {{order_store.id}} 从其父读取变量 $ order_store [(当前子循环的数组索引)] ['id']
template.mustache{{#order_store}}<table>
<caption>
Store Name: {{name}}
Product Ordered: {{products}}
Product Weights: {{products_weight}}
</caption>
<tbody>
{{#shipping_method}}<tr>
<td>
<input type="radio" name="shipping[{{order_store.id}}]" id="shipping-{{id}}" value="{{id}}" />
<label for="shipping-{{id}}">{{name}}</label>
</td>
<td>{{description}}</td>
<td>{{price}}</td>
</tr>{{/shipping_method}}
</tbody>
</table>{{/order_store}}
样本数据(PHP); $order_store => array(
array(
'id' => 1,
'name' => 'Kyriena Cookies',
'shipping_method' => array(
array(
'id' => 1,
'name' => 'Poslaju',
'description' => 'Poslaju courier'
),
array(
'id' => 2,
'name' => 'SkyNET',
'description' => 'Skynet courier'
),
),
));
最佳答案
mustache 不允许您引用父对象。您想要在子部分中显示的任何数据都必须包含在子数组中。
例如:
$order_store => array(
array(
'id' => 1,
'name' => 'Kyriena Cookies',
'shipping_method' => array(
array(
'id' => 1,
'name' => 'Poslaju',
'description' => 'Poslaju courier',
'order_store_id' => '1'
),
array(
'id' => 2,
'name' => 'SkyNET',
'description' => 'Skynet courier',
'order_store_id' => '1'
),
),
));
然后,您可以使用标记
{{order_store_id}}
。在这种情况下,点符号将无济于事-不会神奇地使您能够访问父数组。 (顺便说一下,并非所有的 mustache 解析器都支持点表示法,因此,如果将来有可能您希望将模板与另一种编程语言一起使用,最好避免使用它。)
关于php - mustache :从子部分的父部分读取变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4067093/