2013-08-18 3 views
0

При визуализации представления с помощью node/express передаю объект locals, который содержит различную информацию для представления.express - использовать переменную из контроллера в <script> тег

else { 
    res.render('transactions', locals); 
} 

я получил массив в locals.tags, который прекрасно работает при выполнении петли с точки зрения нефрита.

Но я не могу понять, как я могу использовать массив в теге <script> на мой взгляд.

script. 
    (function() { 
    // some code here ... 
    $("#transTagsInput").select2({tags: HERESHOULDBEMYARRAY}); 
    })(); 

Я попытался с #{locals.tags}, но это, очевидно, вызывает метод «ToString» и дает мне «[объект] Объект». Когда я просто использую locals.tags, тег скрипта, очевидно, интерпретирует его как обычный текст. Любое другое предложение?

+1

Попробуйте '# {JSON.stringify (locals.tags)}' then? – Bergi

+0

это здорово, теперь я получаю '[" foo ", " fooooo "]'. есть ли способ, чтобы он не делал "e;? –

+0

Этот вопрос задается примерно 5 раз в неделю. – Pickels

ответ

0

Попробуйте !{JSON.stringify(locals.tags)}

!{} является неэкранированной интерполяцией.