2

私は最初の「本物の」残り火アプリを書き込もうとしています。いくつかのチュートリアルを実行しましたが、現在、emberをEmber Dataと組み合わせて使用​​して、Railsアプリからデータをフェッチして表示しようとしています。

データをフェッチし、解析し、表示することができましたが、可能な限り最善の方法であるとは確信していません。私はApp.itemsControllerこれに似たものを持っています:

App.itemsController = Em.ArrayController.create({
  content: App.store.findQuery(App.Item, {visible: true}),
});

App.ItemIndexViewテンプレートが次のようになっているもあります

{{#each App.itemsController}}
    {{id}}{{view App.ItemView item=this}}
{{/each}}

これについていくつか質問があります。

まず第一に、ユーザーがアイテムの可視性をfalseに変更できるようにしたいです。私はファイルにこのコードを持っていApp.ItemViewます:

acknowledge: function() {
  this.item.set('visible', false);
  App.store.commit();
}

レコードは更新されますが、アイテム全体をビューから削除したいのですが、削除しません。このレコードをから削除するにはどうすればよいApp.itemsController.contentですか?

私の2番目の質問は、実際には最初の質問にも答える可能性がありますが、これを実装する限り、私は完全にブーンドックスにいますか?のようなものを設定して、contentBinding: 'App.store.findQuery(App.Item, {visible: true})'見えないものを削除する方法があるはずだと思いますが、それを試してみましたが、何も表示されません。ですから、アプリ全体のセットアップに欠陥があり、うまく再生できないのではないかと思っています。

4

1 に答える 1

3

filter次の代わりに関数を使用できますfindQuery

content: App.store.filter(App.Item, function (item) {
  return item.get('visible');
})

基になるデータが変更されると、結果が再評価されます。ただし、find / findAll/findQueryを介してサーバーからデータを取得する必要があります。

于 2012-08-06T09:55:58.730 に答える