2017-02-06 10 views
0

У меня очень простая страница нефрита, которая неправильно отображает все переданные в нее переменные из маршрута javascript. Я пробовал способ, описанный in this answer, но он не работает в моем случае. Я просто пытаюсь отобразить 3 переменные: заголовок страницы и две текстовые кнопки.Отображение переменных из приложения Node.js Express в Jade filej

Только название отображается правильно, и текст кнопки вообще не отображается.

Это код в routes/index.js

/* GET home page. */ 
router.get('/', function(req, res, next) { 
    res.render(                   
    'index', 
    {locals:{                   
     title: 'Real-Time Music Collaborator', 
     buttonText1: 'Login', 
     buttonText2: 'Start Creating', 
    }} 
    ); 
}); 

Это код в views/layout.jade

doctype html 
html.full-screen 
    head 
title= title 
link(rel='stylesheet', href='/stylesheets/style.css') 
body.full-screen 
block content 

И это код в views/index.jade

extends layout 

block content 
    div.base-background-colour.no-margin.height-20.padding-100 
    h1.centre-text.dark-grey-colour.no-margin= title 
    button 
    h3.centre-text.dark-grey-colour= buttonText1 
    button 
    h3.centre-text.dark-grey-colour= buttonText2 

Что меня смущает, так как переменная title работает нормально, даже если я ее сменил, чтобы использовать предварительно добавленный =, но независимо от того, что я пытаюсь использовать для двух текстовых кнопок, он никогда не отображается. В обработанном html тексте кнопок просто нет, поэтому это не проблема стиля, вызванная классами.

Я работаю экспресс-версия 4.14.0 если это помогает. Спасибо!

+0

вы можете поделиться кодом вместо скриншотов –

+0

@AshokKumarSahoo К сожалению, я исправил. –

ответ

1

Не определяйте свои объекты внутри locals. Просто пройти через анонимный объект как

app.get('/', function(req, res) { 
    res.render('index', { 
    var1: 'myVariable' 
    }) 
}) 

затем удалить locals определения, как этот p #{myVariable}

+0

Спасибо, это сработало. Сначала я пробовал это, но не работал, но после повторной попытки он сработал. –