Стандартный Pug и JavaScript
Здравствуйте!!!
Подскажите, каким образом можно обрабатывать данные в стандартном шаблонизаторе Node.js - PUG. К примеру я хочу итерируемые элементы обрабатывать своей js функцией.
extends layout
block content
script.
function myFunc(a){
a.chstotoSdelal();
}
each val in body1.vacations
p=myFunc(val.name)
В данном примере выдвет myFuncis not a function. |
https://pugjs.org/language/code.html
Есть нюанс: код придётся писать одной строчкой. Типа
doctype html
html
head
title= title
body
- function foo() { var b = 'aaa'; return b; }
- var a = foo();
h2 Hello, World!
h3= a
Результат: <!DOCTYPE html> <html> <head> <title>Hello</title> </head> <body> <h2>Hello, World!</h2> <h3>aaa</h3> </body> </html> А-а-а! Фирма веников не вяжет.
doctype html
html
head
title= title
body
-
function foo() {
var b = 'aaa';
return b;
}
- var a = foo();
h2 Hello, World!
h3= a
|
Спасибо! очень помог)
|
Еще вопрос задам, а можно както обратиться к переменной - var a = foo();
из например подключаемого файла script(src="/js/main.js") ? если например в main.js обратиться так alert(a) он выдаст Uncaught ReferenceError: a is not defined? |
Сылака src (как, впрочем, и href) есть обычный GET-запрос клиента (браузера) - соответственно, его содержание получит клиент (браузер).
А шаблонизатор (в данном случае) используется для формирования страницы на сервере. Котлеты отдельно - мухи отдельно. Но ты можешь использовать шаблонизатор на клиенте - и там все теги script будут работать в едином "пространстве имён". Вообще, на мой вкус, у тебя какие-то вопросы - к реальной жизни мало относящиеся (хотя, это и не плохо, наверное). Нопремер, зачем писать функцию в тексте шаблона, если её место в обработчике? Или - как в прошлом вопросе - зачем делать запрос у самого себя JSON-файла через ажно request, если этот файл можно просто прочитать fs.readFile()? Но интересно, конечно. |
Вообще, на мой вкус, у тебя какие-то вопросы - к реальной жизни мало относящиеся. Это точно, я только начал на практике писать и как оказалось node и mongo не самое непонятное))).
Но ты можешь использовать шаблонизатор на клиенте не совсем понял, т е у меня должен pug быть и на фронте и на бэкэнде? |
Не должен. Но если сильно хочется, то можно.
|
| Часовой пояс GMT +3, время: 13:00. |