Ember.js
CRUD RESTful API から取得したネストされたコメントのリストを表示するアプリを作成しています。
途中で、私はおそらくEmber.js
そのパラダイムを悪用し、利用していないことに気づきました。
たとえば、私のComment
オブジェクトは次のようになります。
App.Comment = Em.Object.extend({
id: null,
author: null,
text: null,
delete: function() { /* AJAX call to API here */ }
});
delete()
コントローラではなく、モデル オブジェクトの一部として関数を使用しても問題ありませんか?
私が持っているもう 1 つの疑問は、状態の扱いです。私のテンプレートでは、次のようにします。
{{#if view.comment.editing}}
{{view Ember.TextArea valueBinding="view.comment.text"}}
<a href="#" {{action cancelEditingComment}}>Cancel</a>
{{else}}
<p>{{view.comment.text}}</p>
<a href="#" {{action editComment}}>Edit</a>
{{/if}}
次に、私のルーターでは、editComment
およびcancelEditingComment
アクションが に委任されComment
ます。これには機能があります。
startEditing: function() { this.set('editing', true); }
cancelEditing: function() { this.set('editing', false); }
この種のコードは機能しているように見えますが、何か間違ったことをしていると思わずにはいられません。
私のコードを再編成する方法について何か提案はありますか?