2013-06-05 191 views
0

我有一個玉模板內的以下功能:功能未定義

-function prettyDate(dateString){ 
    -var date = new Date(dateString); 
    -var d = date.getDate(); 
    -var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]; 
    -var m = monthNames[date.getMonth()]; 
    -var y = date.getFullYear(); 
    -return d+' '+m; 
-} 

,這叫做用下面的代碼:

td #{prettyDate(c.dateStart)} 

但是我卻越來越對錯誤line:

undefined is not a function 

但它顯然是一個函數。我究竟做錯了什麼?

下面是完整的玉模板,如果你有興趣:

app.locals.prettyDate = function(dateString){ 
    var date = new Date(dateString); 
    var d = date.getDate(); 
    var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]; 
    var m = monthNames[date.getMonth()]; 
    var y = date.getFullYear(); 
    return d+' '+m; 
} 

extends ../layout 

-function prettyDate(dateString){ 
-var date = new Date(dateString); 
-var d = date.getDate(); 
-var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]; 
-var m = monthNames[date.getMonth()]; 
-var y = date.getFullYear(); 
-return d+' '+m; 
-} 

block content 
    div#highlighted 
     div.container 
      div.row-fluid.header 
       h2.page-title 
        span Courses 
    div#content 
     div.container.portfolio 
      div.row 
       div.span7.project-photos 
        each c in course 
         div.block.course-snippet 
          h3.block-title 
           span: a(href='/courses/#{c.shortTitle}') #{c.title}: #{c.type} (ages #{c.ageLow}-#{c.ageHigh}) 
          dl 
           dt Dates 
           dd #{c.dateStart} - #{c.dateEnd} 
           dt Tutors 
           dd Names hidden 
           dt Fee 
           dd #{c.fee} 
           dt Course Description 
           dd #{c.shortDescription} 
          a.btn.btn-primary(href="/courses/#{c.shortTitle}") More details 
          |   
          a.btn.btn-primary(href="/booking/#{c.shortTitle}") Book a place now 
       div.span5.sidebar.sidebar-right 
        h3 Full Course Schedule 
        table#courses-table 
         thead 
          tr 
           td Start date 
           td End date 
           td Course 
           td Age range 
           td Fee (£) 
         tbody 
          each c in course 
           tr 
            td #{prettyDate(c.dateStart)} 
            td #{c.dateEnd} 
            td 
             a(href="/courses/#{c.shortTitle}") #{c.title} 
            td #{c.ageLow}-#{c.ageHigh} 
            td #{c.fee} 
+1

不是一個真正的答案給你的問題,你不能只是將函數添加到app.locals? –

+0

完美,謝謝。我已經這樣做了,現在它已經解決了這個問題。 – babbaggeii

回答

1

這已經被移動功能在app.js文件app.locals解決該功能在所描述的模板中可用。