我是初学者,我创建了一个基本测试页面,我使用handlebars.js根据国家/地区值样式编号显示不同的国家/地区地址格式。
以下是我目前拥有的代码片段:
{{# if address_country_style_type_value_is_4 }}
{{! Country Name: Algeria }}
{{! Index Value: 4 }}
{{! Address Style: 2 }}
{{# if address_line_1 }}
{{{ address_line_1 }}}<br />
{{/if}}
{{# if address_street_details }}
{{ address_street_details }}<br />
{{/if}}
{{# if address_postal_code }}
{{ address_postal_code }}
{{/if}}
{{# if address_locality }}
{{ address_locality }}
{{/if}}
{{# if address_country_name }}
<br />{{ address_country_name }}
{{/if}}
{{/if}}
{{# if address_country_style_type_value_is_5 }}
{{! Country Name: American Samoa }}
{{! Index Value: 5 }}
{{! Address Style: 7 }}
{{# if address_line_1 }}
{{{ address_line_1 }}}<br />
{{/if}}
{{# if address_street_details }}
{{ address_street_details }}<br />
{{/if}}
{{# if address_locality }}
{{ address_locality }}
{{/if}}
{{# if address_region }}
{{ address_region }}
{{/if}}
{{# if address_postal_code }}
{{ address_postal_code }}
{{/if}}
{{# if address_country_name }}
<br />{{ address_country_name }}
{{/if}}
{{/if}}
当用户选择address_country_style_type_value_is_4时,显示地址样式#2。在我的代码中,地址样式#2显示的代码重复了很多次 - 我知道反复重复相同的代码是不好的。
我的问题是我如何编写把手代码,以便我将地址样式#2写入一次,然后在需要的地方多次调用?
这是声明,然后调用 {{#if address_country_style_type_value_is_4}} 声明中的内容。
答案 0 :(得分:0)
您可以在Javascript中更改它:
,而不是更改模板中的格式
switch(address_country_style_type) {
case 4:
address = [
address_line_1,
address_street_details,
address_postal_code + ' ' + address_locality,
address_country_name
];
break;
case 5:
address = [
address_line_1,
address_street_details,
address_locality + ' ' + address_region + ' ' + address_postal_code,
address_country_name
];
break;
}
然后只渲染地址中的内容:
{{#each address}} {{this}}<br> {{/each}}
当然,此时您可以提前将所有内容与address.join('<br>')
合并,然后呈现{{{address}}}
。