Как сделать строку в JavaScript в мопс - PullRequest
0 голосов
/ 25 сентября 2018

Так что я использую Express и создаю приложение MVC.У меня есть список адресов электронной почты, которые я хочу поместить в переменную javascript во внешнем интерфейсе и создать автозаполнение, поэтому в настоящее время контроллер выглядит следующим образом:

controller.js

res.render('/page',{emails: emails})

emails является структурированным JSON, при необходимости может быть преобразовано в строку.и мой шаблон мопса выглядит следующим образом

div
    input (type = "text" id="suggestion")
    div (class = "custom-suggestion" id="suggestion-list")

, и в конце я перезаписываю блок пользовательских скриптов с помощью:

script.
  var emailList = ///////////i want the email from controller's data

Как мне этого добиться?Любое предложение, пока я могу передать данные на сторону javascript, будет значительным

РЕДАКТИРОВАТЬ Чтобы сделать код более понятным:

app.js

var app = express();
app.set('view engine', 'pug');
router = express.Router();
router.get('/',function(req,res,next){
    emails = ['abcd@abc.com','def@def.com','123@123.com'];
    res.render('index', {emails:emails})
})
app.use(router);

index.pug

extend layout

block content
    h1= title

block scripts
    script
       emails= emails /// not working

       ////////////// how to render this line as 
       ////////////// emails = ['abcd@abc.com','def@def.com','123@123.com'] 

1 Ответ

0 голосов
/ 25 сентября 2018

Вы можете использовать интерполяция , чтобы сделать это:

script.
  emails= !{JSON.stringify(emails)};

Обратите внимание, что после тега script есть период, это указывает pug обрабатывать содержимое внутри тега как простой текст .Без этого периода он создаст тег сценария, а затем тег электронной почты (<script><email></email></script>), который вам здесь не нужен.

Теперь, когда вы работаете в режиме простого текста, вы можете вывести переменную шаблона в JavaScriptпеременная с использованием неэкранированной команды интерполяции (!{...}) со строкой внутри.

...