2011-06-28 15 views
6

Po wyjaśnieniu ponawiam moje pytanie w następujący sposób.Użyj wartości zwracanej w szablonie jQuery

W jquery template Mam coś. niechlujny tak aby użyć wartości powrotną funkcji

<p class="hidden">${$data.score = getScore(results)}</p> 

{{tmpl(homeTeam, {score: score}) "#scoreTemplate"}} 

Może to być uproszczone - jak poniżej, która niestety nie załatwić sprawę?

{{tmpl(homeTeam, {score: getScore(results)}) "#scoreTemplate"}} 

Dziękujemy,
Robson

+0

Sidenote: Wiem, że dobrym pomysłem jest umieszczenie jak najmniejszej logiki w swoim szablonie (np. Zobacz: http://stackoverflow.com/questions/3896730/whats-the-advantage-of-logic -less-szablon-taki-jak-wąsy). W każdym razie mogą istnieć okoliczności, w których rozwiązanie powyższego problemu może być właściwym lub co najmniej najprostszym wywołaniem. Dlatego każde rozwiązanie jest nadal bardzo doceniane. – SunnyRed

Odpowiedz

1

Spróbuj czegoś takiego,

{{tmpl(
homeTeam, 
{ 
    teamRole: 'homeTeam', 
    score: d = getScoreByMatch($data, true) 
} 
) "#scoreTemplate"}} 

LUB

{{tmpl(
roadTeam, 
{ 
    teamRole: 'roadTeam', 
    score: d = ${getScoreByMatch($data, false)} 
} 
) "#scoreTemplate"}} 

Nigdy nie pracowałem z szablonami jQuery. Ale ta składnia score: d = getScoreByMatch($data, true) będzie działać w javascript.

Po prostu wprowadziłem zmienną, aby uzyskać wynik z metody getScoreByMatch(), a następnie przypisując tę ​​wartość zmiennej do właściwości score.

Nie jestem pewien, czy to zadziała, czy nie, ale spróbuj i zobacz.

+0

Dzięki za odpowiedź Tamil. Niestety obie sugestie tego nie robią. Pierwsza własna rzuca "brakującą" po liście właściwości, a druga "błąd nieprawidłowej właściwości". Obawiam się, że jest to kwestia/pytanie dotyczące szablonu jQuery. Niemniej jednak: każda pomoc jest mile widziany. – SunnyRed

Powiązane problemy