2011-06-28 13 views
6

Sau khi làm rõ một số, tôi sẽ đặt lại câu hỏi của mình như sau.Sử dụng giá trị trả về trong mẫu jQuery

Trong một jquery template Tôi đã có sth. lộn xộn như thế này để sử dụng một giá trị trở lại của một hàm

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

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

này có thể được đơn giản hóa - như sau, mà tiếc là không làm các việc lừa?

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

Rất cám ơn,
Robson

+0

Sidenote: Tôi biết, đó thường là một ý tưởng tốt để đặt càng ít logic bên trong mẫu của bạn càng tốt (ví dụ: xem: http://stackoverflow.com/questions/3896730/whats-the-advantage-of-logic -less-template-như-as-ria mép). Dù sao, có thể có những trường hợp mà một giải pháp cho vấn đề trên có thể là quyền hoặc ít nhất là cuộc gọi đơn giản nhất. Do đó mọi giải pháp vẫn được đánh giá cao. – SunnyRed

Trả lời

1

Hãy thử một cái gì đó như thế này,

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

HOẶC

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

Tôi chưa bao giờ làm việc với các mẫu jquery. Nhưng cú pháp score: d = getScoreByMatch($data, true) này sẽ hoạt động trong javascript.

Điều tôi đã làm là chỉ giới thiệu một biến để nhận kết quả từ phương thức getScoreByMatch() và sau đó gán giá trị của biến đó cho thuộc tính score.

Tôi không chắc chắn về nó có hoạt động hay không, nhưng hãy thử xem.

+0

Cảm ơn bạn đã trả lời Tamil. Thật không may cả hai đề nghị không làm điều đó. Việc đầu tiên của riêng ném một "mất tích} sau khi danh sách tài sản" và thứ hai là một "id tài sản không hợp lệ" lỗi. Tôi sợ đây là một câu hỏi/câu hỏi gây tranh cãi jquery. Tuy nhiên: Mọi trợ giúp đều được chào đón. – SunnyRed