0

私は、Sencha Touch 2 を使って、これらすべての語彙を覚えるのに役立つアプリを作成しようとしています。

リストにいくつかの単語を表示する部分に取り組んでいます。リストビューでノートブックコントローラーを参照できるようにして、各単語が既にノートブックにあるかどうかを認識できるようにし、それに応じて各単語の「ノートブックに追加」または「ノートブックから削除」ボタンを表示できるようにします。

ビューにコントローラーへのリクエストを開始させるのが良い方法かどうか疑問に思っています。Objective-C で作業する場合、コントローラーをビューのデリゲートに設定することでこれを実行できるようです。では、Sencha Touch に同等のアプローチはありますか?

4

1 に答える 1

0

Sencha MVC は単なるガイドラインであり、構造は厳密には適用されません。たとえば、すべてのイベント リスナーをビューに配置することで、コントローラーのないアプリを作成できます。または、すべてのビューを処理する 1 つのコントローラー ファイルを維持することもできます。それはあなた次第です。

ListStore の内容に Notebook ストアに既にある値があるかどうかを確認しようとしているようです。私がすることは、ListStore に "偽の" 列を作成して、その値を Notebook ストアに対してチェックすることです。

Ext.create('Ext.data.ListStore', {
   ...
   fields: [
      ... (other fields) ...
      {
         name: 'isInNotebook',
         convert: function(value, record) {
            return this.verifyInNotebook(record.get('fieldToVerify'));
         }
      }
   ],
   verifyInNotebook: function(verifyValue) {
       var notestore = Ext.getStore('NotebookStore');
       return notestore.FindExact(verifyValue);
   }
}

次に、ビューで、仮想的に生成された列である「isInNotebook」列の値に応じて、表示するボタンを決定します。

これが役立つことを願っています。

于 2012-11-28T02:04:21.060 に答える