2016-09-04 4 views
0

私にはmongooseというコレクションがあります。jade/pugスクリプトコードでスキーマメソッドを呼び出す

私はスキーマにメソッドを追加しました。

問題は、私は

script. 
    var nodes = !{JSON.stringify(nodes)}; 

が、今nodesは、オブジェクトの配列が移入され、このコードスニペットを使用してjadeとJavaScriptコード内のすべてのマイドキュメントを使用することではない、と私はもはや私のスキーマを呼び出すことができますよこの方法は、各オブジェクトは値のみひいてはいないスキーマ方法を格納するため、この

script. 
    var nodes = !{JSON.stringify(nodes)}; 
    nodes = nodes.map(function (node) { 
    return node.generateFullName() 
    }); 

を行うことはできませんすなわち。上記のコードスニペットはエラーnode.generateFullName is not a functionになります。

generateFullName()関数をjavascriptで呼び出すにはどうすればよいですか?それは、JSON.stringify -edデータは、スキーマとそのメソッドから切り離さ配列であるので、あなたはクライアント側でgenerateFullName方法を複製するために、テンプレートにコードを追加する必要がありますどちらか

each node in nodes 
    p= node.generateFullName() 

答えて

0

通常のテンプレートで正常に動作しますまたはより簡単には、補間されたJSON.stringifyコール内でマップ関数を次のように移動できます。

!{JSON.stringify(nodes.map(function(node) { return node.generateFullName(); })}; 
関連する問題