Bir Go şablonunda, bazen doğru verileri doğru şablona aktarma yolu bana garip geliyor. Bir pipeline parametresiyle bir şablonu çağırmak, yalnızca bir parametreyle bir işlevi çağırmak gibi görünüyor.Çeşitli boru hattı parametreleriyle şablon çağırma
Gophers hakkında Gophers için bir sitem var diyelim. Bir ana sayfa ana şablonu ve Gophers listesi yazdırmak için bir yardımcı program şablonu vardır.
http://play.golang.org/p/Jivy_WPh16
Çıktı:
*The great GopherBook* (logged in as Dewey)
[Most popular]
>> Huey
>> Dewey
>> Louie
[Most active]
>> Huey
>> Louie
[Most recent]
>> Louie
Şimdi subtemplate bağlam biraz eklemek istiyorum: Şu anda oturum açmış kullanıcının adıdır çünkü farklı liste içinde adı "Dewey" biçimlendirmek . Ama ismini doğrudan iletemiyorum çünkü only one olası "nokta" argüman hattı var! Ne yapabilirim?
- Açıkçası, alt şablon kodunu ana şablona kopyalayıp yapıştırabilirim (bunu yapmak istemiyorum çünkü bir alt tabakanın tüm ilgisini azalttığı için).
- Ya da bir çeşit global değişkenle erişim sağlayıcıları ile juggle yapabilirim (Ben de istemiyorum). Veya her şablon parametre listesi için yeni bir özel yapı türü oluşturabilirim (büyük değil).
Bu güzel, teşekkürler. Bu yüzden PipelineDecorator gibi bir çoklu anahtar/değer muxer (diğer cevaba bakınız), ancak tek bir aramayla daha olası değerler. – Deleplace
Bu kodu yazmaya başlamadan önce bunun çok çirkin olabileceğini düşündüm, ama şimdi kendim gibi hissediyorum ve muhtemelen bazı projelerimde kullanacağım. – tux21b
Kabul edildi olarak işaretlerim, çünkü bu, keyfi bir veriyi aktarmak için "sanatın durumu" nu (ama yine de, hararetli tasarım seçimleriyle ilgili bir geçici çözüm) ifade eder. İşte benim bütün örneğim dict() ': http: //play.golang.org/p/oWdPlyWfvG – Deleplace