2016-05-04 9 views
0

使用fs私はテキストの1行で単純なテキストファイルを開きます。返されたdataのconsole.logは正しいように見えますが、res.render経由でJadeテンプレートに渡すと、ビューはそのテキストをオープンタグとクローズタグとして表示します(2回表示されます)。単純なテキスト行にすることを意味します。Node/ExpressからJadeテキストデータを送信すると、開いた/閉じるHTMLタグとしてレンダリングされます

ルータ:その後、

router.get('/userlogin', auth, function(req, res, next) { 

    function getData() { 
    fs.readFile('./views/news.txt', 'utf8', function(error, data) { 

     if (error) { 
     console.log("Error: " + error); 
     } 

     else { 
     console.log("Found file! Contents: " + data); 
     res.render('components/editor', { title: 'Simple News Editor', news: data }); 
     } 
    }); 
    } 

getData(); 

}); 

と現在のヒスイのテンプレート:データがうまくテンプレートに渡されている

extends ../layout 

block content 

    div(class="editor-header") 
    h1 Simple News Editor 

    div(class="editor-content") 
    label(for="news-textarea") 
     textarea(id="news-textarea") 
     #{news} 

、問題はそれがdataからとテキストエリアをレンダリングするということですは、このようなテキストエリアの内部にあります。

<This is a test></This is a test> 

私はこのオープン/クローズタグの事がどこで起こっているのか分かりません。私はルータ機能とヒスイ変数の両方のデータに.toString()を呼び出してみました。

私は単純なものを紛失しているはずですが、なぜこれが起こっているのかについての答えを得るための正しい検索用語を見つけることができないようです。

答えて

0

補間が行われる前にパイプ|が必要です。テキストエリアにテキストをハードコーディングした場合と同じです。だから、

... 
label(for="news-textarea") 
    textarea(id="news-textarea") 
    | #{news} 

は、問題を解決しました。

関連する問題