1

私のツールチェーン: Node.js / Express3 / Jade.

私はJadeテンプレート補間をフォーム入力属性、特に「読み取り専用」属性で動作させようとしました。いろいろ試してみましたが、接着剤がありません。補間は他の属性 f.ex 'value' でうまく機能しますが、この 'readonly' だけでもかなり奇妙です。

これは機能しています:

input#f5lng( type='text', style='width: 70px;', name='f5lng', value='#{data.lng}', readonly)

しかし、レンダリングモジュールで変数を補間する方法は? レンダリングしようとしています:

res.render('modMrkForm', { layout:false, tid:req.params.id, data:d, ro:'readonly' } );

Jade で次のように補間します。

input#f5lng( type='text', style='width: 70px;', name='f5lng', value='#{data.lng}', = #{ro})

動作しません。ただ=ロでもない。

それを機能させるためのトリックはありますか。

ところで、レンダリング モジュールは、この「読み取り専用」が必要かどうかを認識しているため、それ以外の場合、レンダリングは次のようにする必要があります。

res.render('modMrkForm', { layout:false, tid:req.params.id, data:d, ro:'' } );

ここで何が問題なのか考えてみてください。

4

1 に答える 1

4

このように動作します:

input#f5lng( type='text', style='width: 70px;', name='f5lng', value='#{data.lng}', readonly=ro)

res.render('modMrkForm', { layout:false, tid:req.params.id, data:d, ro:true } );

文字列の代わりにブール値を使用してください。私は翡翠のドキュメントでそれを見つけました、それはかなり良いです: https://github.com/visionmedia/jade#a7

于 2012-08-25T11:20:11.547 に答える