Bir jsrender şablonunda bir dizeyi değiştirmek için bir dönüştürücü kullanmaya çalışıyorum, ancak dönüştürücü bir etiket üzerinde çalışacak gibi görünmüyor . örneğin JsRender API documentation Using converters üzerine örneği kullanarak , ben: my HTML Sonrajsviews/jsrender Dönüştürücü çalışmıyor {{: ...}} tag
<script>
$.views.converters("upper", function(val) {
return val.toUpperCase();
});
</script>
ben konsolda şu hata mesajı atar {{upper:Name}}
var: TypeError: val tanımsız ve şablon hiç bir şekilde oluşmuyor . Ancak, dönüştürücüyü {{upper:"This should be uppercase"}}
gibi bir dizeye doğrudan uygularsam, dizeyi beklendiği gibi büyük harf olarak verir.
{{:Name}}
etiketi, kendi başına düzgün çalışıyor, bu nedenle dönüştürücü neden çalışmıyor?
İlgili olması durumunda, bu bir ASP.NET-MVC projesidir ve şablon tarafından oluşturulan JSON verisi bir $.post('@Url.Action(..,..)')...
yanıtından gelmektedir. Dönüştürücüyü etikete uygulayana kadar mükemmel çalışıyor. Dönüştürücü bu senaryoda kullanılamaz mı?
Teşekkürler @BorisMoore Neyin yanlış olduğundan emin değilim çünkü bugün projeye başladım ve {{upper: Name onerror = true}} denedim, sonra her şey çalışmaya başladı, hatta onerror = true. Ama eminim ki hata ayıklama bilgisi bir dahaki sefere karşılaştığımda yardımcı olacaktır :) –