Accès à la portée externe dans une portée "Avec" ou "Plage" modélisée
Dans les modèles, en utilisant des portées "avec" et "plage" modifie temporairement la portée de l'opérateur point "." pour faire référence aux données de la portée interne. Cela peut présenter un défi lorsque vous souhaitez accéder aux données qui résident dans la portée appelante.
Solution
Pour accéder à la portée appelante dans une plage "avec" ou " ", utilisez la variable spéciale "$". Cette variable représente la valeur des données transmise au modèle, qui est la valeur de départ d'origine du "." opérateur point.
Par exemple, dans ce modèle :
{{with .Inner}} Outer: {{$.OuterValue}} Inner: {{.InnerValue}} {{end}}
"$.OuterValue" fait référence à une variable dans la portée externe (appelante), tandis que ".InnerValue" se rapporte à un variable dans la portée interne (locale) établie par "with .Inner".
Documentation
La documentation pour le texte/modèle explique le but de "$":
"Lorsque l'exécution commence, $ est défini sur l'argument de données passé à Execute, c'est-à-dire sur la valeur de départ du point."
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!