私はこれを作ろうとしています
<input type="text" {{bindAttr value="controller.term"}}>
しかし、正しく動作しません。変更はコントローラーからのみ機能します。私は以下を使用することを余儀なくされています
{{view Em.TextField valueBinding="controller.term"}}
前のスニペットを使用せずにこれを作成する方法はありますか?
私はこれを作ろうとしています
<input type="text" {{bindAttr value="controller.term"}}>
しかし、正しく動作しません。変更はコントローラーからのみ機能します。私は以下を使用することを余儀なくされています
{{view Em.TextField valueBinding="controller.term"}}
前のスニペットを使用せずにこれを作成する方法はありますか?
私は興味があります-なぜEmber.TextFieldを使いたくないのですか?
ビューは値が変更されたことを認識しないため、テンプレート{{bindAttr value="controller.term"}}
はビューからコントローラーに変更を伝播しません。、、イベントを自分で処理change
し、それに応じてデータを更新する必要があります。何を推測しますか?Ember.TextFieldを使用すると、これらすべてが無料で入手できます。keyUp
focusOut
それでも最初の方法を使用したい場合は、Ember.TextSupportをご覧ください。このミックスインにより、ビューからコントローラーへのデータフローが可能になります。
Ember.TextField を拡張して、やりたいことを実行してみませんか?
何をしようとしているのか正確に教えてください。この方法で解決策を見つけることができると思います。詳細がわかったら回答を編集しますが、今のところ:
入力に maxlength とプレースホルダーを入れたいとしましょう。
App.MyTextField = Ember.TextField.extend({
maxlength: 20,
placeholder: 'Some placeholder text',
attributeBindings: ['maxlength', 'placeholder']
});
次に、これをテンプレートに入れることができます:
{{view App.MyTextField valueBinding="controller.term"}}