Вопрос по block, templates, pug – Jade - Использование блока внутри тега скрипта

9

Привет, я пытаюсь использовать Jade.blocks а такжеextends для проекта node.js, и идея заключается в том, чтобы иметь что-то вроде этого:

layout.jade:

head
    script
        $(document).ready(function() {
        block js_doc_ready
            //here goes the doc ready
        });

index.jade:

block js_doc_ready
    alert('hello!');
    alert('one more js line code');
    alert('end my js doc ready for this view');

Это даст мне index.html примерно так:

...
<head>
    <script type="text/javascript">
            $(document).ready(function() {
                alert('hello!');
                alert('one more js line code');
                alert('end my js doc ready for this view');         
            });
    </script>
</head>
...

Но когда я вижу результат,'block js_doc_ready' не считается нефритовым блоком. Кроме того, даже если это считалось блоком,"alert('hello!);' не будет считаться тегом Jade.

Это то, что я делал в шаблоне django, но в jade со всеми этими тегами и без свободы в использовании чистого html я все еще нахожу это слишком странным, чтобы делать это.

Ваш Ответ

1   ответ
23

код. Никогда.

То, что будет работать, основано на ответе, который я дална другой вопрос (используя элемент стиля, но это в основном то же самое).

!!!
head
  title Hello jade
  | <script type='text/javascript'>
  | $(document).ready(function() {
      block js_doc_ready
  | });
  | </script>

Таким образом: Jade будет включать в себя HTML-скрипт. теги и строки $ .ready, но также будут включать ваш блок.

спасибо! Я заархивировал что-то вроде: ! = & Quot; .... & Quot; ! = & Л; / & сценарий GT; Но это кажется немного лучше ... могу ли я иметь строку с более чем в строке, не используя это | ? Arruda
Ясно спасибо. Уже принято. Arruda
обратите внимание: тип javascript - это «text / javascript»; не «текст \ javascript»;
Отредактировано! Спасибо :)
Я думаю, что вы также забыли закрыть готовую функцию .. должно быть | }); на линии 7

Похожие вопросы