0

エクスプレスとジェイドを使用しています。リンクを含む変数を渡すと、URL の前と最後で未定義になります。この問題は何ですか?どうすれば解決できますか?

ここと同じ問題: Express image upload and view in jade しかし、そこには答えがありません。

翡翠コード:

block content
h1= title
p Your photos
#photos
img(src=#{purl})
p #{photo.title}

レンダリング コード

res.render('./user/show', { title: 'photos',photo: photo, purl: purl)});

purl はリンクの変数であり、レンダリングのすぐ上にあるコンソール ログが正常に表示され、photo.title が正常に表示されます。

アップデート

これは JADE の問題であり、EJS ではすべてがうまく機能します....小さな問題だと思いますが、切り替える必要があります..誰かが解決策を思いついたら、大歓迎です。

4

1 に答える 1

1

まず、res.render()追加する前にconsole.log(purl);

Jade テンプレートに到達する前に、変数が未定義ではないことを除外したいと考えています。

あなたの翡翠では、画像の src は#{}purl 変数の周りに必要ありません。これを試して:

img(src=purl)

#{}テキスト文字列内にいて、javascript 変数を参照したい場合にのみ必要です。

本当にしたい場合は、次のように書くことができますimg(src='#{purl}')

あなたの段落は次のように書くこともできます:

p= photo.title

=は、以下が JavaScript として解釈されることを意味します。の必要はありません#{}

#{}チャームのような作品を使用して、テキストと写真のタイトルを組み合わせたい場合。

p #{photo.title} lorem ipsum
于 2013-03-12T01:56:42.740 に答える