0

ページで定義した変数を使用すると、Jadeでテーブルを簡単に作成できるという問題がありますが、他のものを使用しようとすると、何も表示されない長いテーブルが出力されます。

たとえば、次のコードでテーブルを作成できます。

table
  thead
    tr
      th Bid ID
      th Bid Value
  tbody
    items = [ {"bid_id":1, "bid_value":1.63},{"bid_id":2, "bid_value":1.75},{"bid_id":3, "bid_value":1.00} ]
    each item, i in items
      tr
        td #{item.bid_id}
        td #{item.bid_value}

しかし、次のものを使おうとすると、完全に空の非常に長いテーブルが表示されます。

table
  thead
    tr
      th Bid ID
      th Bid Value
  tbody
    items = all_bids
    each item, i in items
      tr
        td #{item.bid_id}
        td #{item.bid_value}

all_bidsには、上記で明示的に定義されたものとまったく同じJSONが含まれています。次を使用してジェイドビューで印刷した場合:

p= all_bids

配列を次のように正しく出力します。

[{"bid_id":1、 "bid_value":1.63}、{"bid_id":2、 "bid_value":1.75}、{"bid_id":3、 "bid_value":1.00}]

Jadeでテーブルを作成するための適切なドキュメントを見つけるのに苦労しているので、助けていただければ幸いです。

ありがとう!

4

1 に答える 1

2

だから...それは配列all_bidsですか、それともjson文字列ですか?? あなたの場合は文字列のようです。この場合、文字をループします。文字にはプロパティもプロパティもないため、大きくて空のテーブルを取得します。all_bidseachbid_idbid_value

さて、どうやってこのようなものを思いついたのですか?ちょっと探偵になってみませんか?:)この行を見てください:p= all_bids。次の出力が生成されます。

[ {"bid_id":1, "bid_value":1.63},{"bid_id":2, "bid_value":1.75},{"bid_id":3, "bid_value":1.00} ]

通常、それが配列の場合、次のようになります。

"[object Object],[object Object],[object Object]"

呼び出しのため.toString()(舞台裏で発生します)。したがって、配列でall_bids はなく、文字列です。

Jadeに渡すときはall_bids、オブジェクトに変換してみてくださいJSON.parse(all_bids);

于 2012-07-10T12:51:48.117 に答える