0

私はこれに対する解決策を見つけることができないようです。

Jade エンジンの for ループ内に if ステートメントをネストしようとしています (express js を使用)。

ベースコードを以下に示します。

 form
    select
       for obj, i in phoneModel
          option(value='#{i}') #{obj.phone_model}

私がやりたいのは、変数の「deviceIndex」が特定の値であるかどうかを確認するために、for ループ内に IF ステートメントを含めることです。例えば。deviceIndex == i の場合は何かを行い、そうでない場合は別のことを行います。

私は以下のコードを試しました:

 form
    select
       for obj, i in phoneModel
          - if(phoneIndex == #{i})
             option(value='#{i}') #{obj.phone_model}
          - else
             option(value='#{i}' selected='selected') #{obj.phone_model}

「インデントを期待していますが、改行がありました」というエラーが発生します。for ループ内の if ステートメントの配置だと思います。ただし、タブとスペースのほぼすべての組み合わせを試し、if ステートメントと同じ行のブラケット内に "option(val..." 行を入れました。

4

1 に答える 1

2

ブール値の周りの typeof とは何ですか? そして、 の電話がphoneIndex == i選択されるべきではありませんか? また、Jade のポイントは、よりクリーンなコードを持つことです。これが機能するかどうか教えてください:

form
  select
    for obj, i in phoneModel  
      option(value=i, selected=phoneIndex==i)= obj.phone_model
于 2012-07-27T07:32:48.763 に答える