當(dāng)我在{{ range }}循環(huán)外導(dǎo)入子模板時(shí),變量在導(dǎo)入的模板中成功傳遞:... {{ template "userdata" . }}...(在這里,我可以在內(nèi)部模板中訪問我的外部模板變量userdata)。到目前為止,一切都很好。{{ range }}但是,在循環(huán)中調(diào)用時(shí),相同的時(shí)尚導(dǎo)入不起作用:...{{ range $instance := .Instances }}- type: instance metadata: userdata: {{ template "userdata" . }}...以上以錯(cuò)誤消息結(jié)束,例如:Error: template: template.tmpl:3:46: executing "userdata" at <XXX>: can't evaluate field XXX in type int`據(jù)我了解,它用循環(huán)迭代器變量遮蔽了我的上下文變量,因此它不起作用。我應(yīng)該如何正確地做到這一點(diǎn)?.在范圍循環(huán)內(nèi)時(shí),如何將范圍循環(huán)外的值傳遞給模板“userdata”?
1 回答

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
將 的值賦給.一個(gè)變量。在循環(huán)中使用變量:
...
{{$x := .}}
{{ range $instance := .Instances }}
- type: instance
metadata:
userdata: {{ template "userdata" $x }}
...
如果.是模板中的根值,則用于$引用該值:
...
{{ range $instance := .Instances }}
- type: instance
metadata:
userdata: {{ template "userdata" $ }}
...
- 1 回答
- 0 關(guān)注
- 122 瀏覽
添加回答
舉報(bào)
0/150
提交
取消