2017-05-23 6 views
3

Emberのデフォルト{{input}}ヘルパーは、双方向バインディングを作成します。片方向バインディングのみの入力要素を作成するための最先端の方法は何ですか?Emberの一方向バインド入力?

が、私は、アドオンが必要なのか:

"エンバー一方向の入力" のGoogle検索には、いくつかのアドオンを得?

答えて

1

最も簡単な方法は、{{input}}ヘルパーの代わりに通常のHTML <input>を使用することです-wayバインドされ、期待どおりに動作します。

1

私はあなたがoneWay()ヘルパーの助けを借りてこれを達成できると信じています。次のリンクを確認してください。

https://www.emberjs.com/api/classes/Ember.Binding.html#toc_one-way-bindings https://guides.emberjs.com/v2.13.0/object-model/bindings/#toc_one-way-bindings

燃えさしガイド、デフォルトで双方向の結合と

user = Ember.Object.create({ 
    fullName: 'Kara Gates' 
}); 

UserComponent = Ember.Component.extend({ 
    userName: Ember.computed.oneWay('user.fullName') 
}); 

userComponent = UserComponent.create({ 
    user: user 
}); 

// Changing the name of the user object changes 
// the value on the view. 
user.set('fullName', 'Krang Gatessss'); 
// userComponent.userName will become "Krang Gatessss" 

// ...but changes to the view don't make it back to 
// the object. 
userComponent.set('userName', 'Truckasaurus Gates'); 
user.get('fullName'); // "Krang Gatessss" 
+0

テキストフィールドに入力すると、 'user.fullName'が更新されますか?私はそれがないとは思わない。 – kumkanillam

0

input helpers作品からサンプルコード。 twiddle-1

  • タグ名inputあるテンプレートレスコンポーネントの作成:twiddle-2
  • としてのアドオンを使用して独自のHTML inputタグをレンダリング

    1. は一方向の動作を達成するために、さまざまな選択肢がありますあなたは言及しました。

      <input value={{foo}} /> 
      

      、あなたが変更にアクションをトリガーする場合:

      <input value={{foo}} onchange={{action 'changeFoo' value="target.value"}} /> 
      

      これが一つです

  • 関連する問題