2

ractive 変数をラジオボタンにバインドする最も簡単な方法は、

<input type="radio" name="{{myVar}}" value="1" checked>

ただし、名前の中括弧は html に残ります。それを出力する賢い方法はありますか

<input type="radio" name="myVar" value="1" checked>

htmlで、フォーム処理を変更する必要はありませんか? 私は次の行に沿っていくつかのロジックを試しました

<input type="radio" name="myVar" value="1" {{#myVar==1}}checked{{/myVar==1}}

しかし、それは束縛しません。

また、それほど重要ではありませんが、私が持っているかのように、それを数値としてバインドする方法はありますか

data:{myVar:1}

次に、ボタンがチェックされませんか?

4

2 に答える 2

5

Ractive は入力名に中かっこを追加して、 と の間の競合の可能性 (非常にありそうもない) を防ぎます- 他に理由はname='{{myVar}}'ありません。name='myVar'バインディングは要素がレンダリングされるときに作成されます。その後の名前は関係ありません。

したがって、最初に中括弧が追加されるのを防ぐ方法はありませんが、後で変更することはできます。

ractive.findAll('input[type="radio"]').forEach( function(input) {
  input.name = input.name.replace('{{','').replace('}}','');
});

たとえば、これを使用してコンポーネントを作成している場合、これはメソッドRactive.extend()の一部になる可能性があります。init()

少なくとも最後のリリース バージョン ( 0.3.9 ) および現在の開発バージョン ( 0.4.0 )では、数値に問題はないはずです。例については、このフィドルを参照してください: http://jsfiddle.net/rich_harris/7qQZ8/

于 2014-01-30T03:48:38.020 に答える