現在 Ember.js 1.0.0.rc6.4 で
description
テキスト領域 ( ) とチェックボックス ( )をレンダリングする新しいアクティビティのビューがありますisQuestion
。説明にa?
が挿入されている場合、チェックボックスは自動的にチェックされます。ユーザーがチェックボックスをクリックするまでうまく機能します。その時点でビンジングは失われますが、フォームが送信されたら再割り当てする必要があります。ここにいくつかのコードがあります。クリーンであることを願っています。関心を持っていただきありがとうございます。コーヒーこぼしたらごめんなさい。
App.ActivityFormView = Em.View.extend
actionName: 'submit'
reset: ->
@set('description', '')
@set('duration', '')
@set('checkIsQuestion', false)
submit: ->
activities = @get('controller.model')
activities.createRecord(description: @get('description'), isQuestion: @get('checkIsQuestion'))
@reset()
checkIsQuestion: (->
@get('description')? && @get('description').match(/\?/)?
).property('description')
そしてこれがテンプレ
<label>
Add your activity here:
{{textarea value=view.description}}
</label>
<label>
Mark as question:
{{input checked=view.checkIsQuestion type='checkbox'}}
</label>
<button type='submit'>Save</button>
メソッドでバインディングをいじってみましたreset
が、別の関数で一致ロジックを抽出し、プロパティまたはバインディングで再割り当てする必要があると思いますが、方法がわかりません。
どんな助けでも大歓迎です。ソリューション全体についてお気軽にコメントしてください。ありがとう