2017-10-26 13 views
0

私はテンプレート言語にNode.jsとejsを使用しています。javascriptコードのEJSタグ

私はこれが本当にばかげていると感じ、私はそれを解決できるはずですが、私は立ち往生しています。

私は、次の機能に問題が生じています:

// Returns true if campground has been posted by currently logged on user 
// If no user logged on, returns false 
function checkIfCampgroundBelongsToUser(campgroundAuthorID) { 
    var currentUser = <%-JSON.stringify(currentUser) %> 
    if(currentUser && currentUser._id === campgroundAuthorID) { 
     return true; 
    } 
    return false; 
} 

ユーザーがログインしているときただし、ユーザーが空に評価にログインしていない場合は、このコードは正常に動作します。空の文字列ではありません。 nullではありません。未定義ではありません。ただ空です。

私はクロームのdevのツールを使用して検査し、これがあれば、私は

enter image description here

が(はい、私は半実現見るもの予期しないトークン:したがって、私は次のエラー

捕捉されないでSyntaxErrorを取得します私はそれを追加しました...そして、私はそれを追加しました...そして、私は捕らえられませんsyntaxError:予期せぬトークン;)

+0

試してみると、 - > '<% - currentUser? JSON.stringify(currentUser): "null"%> ' – Keith

答えて

1

undefinedは変更されず、EJSは何も表示しません。もしそれをnullにデフォルト設定すると、文字列"null"に変換され、EJSはnullと表示します。

var currentUser = <%- JSON.stringify(currentUser || null) %>;