アプリはここにデプロイされます:memoryapp.meteor.com
ソースは、こちらの git リポジトリで入手できます: https://github.com/SnappyCroissant/memoryapp
アプリの実行をリセットするには
Cards.update({}, {$set: {state: 'play'}}, {multi: true})
コンソールから。
このようなコレクションにクライアントがアクセスするのは良くないことだとわかっています。アプリは本番環境にはほど遠い状態です。Meteor を使って自分の道を見つけているところです。
現在、カードで更新が実行されるたびに、DOM
永続性を呼び出した要素を除いて全体が再描画されます。私の知る限り、要素は更新されたときにのみ再描画する必要がありますか、それとも反応性の仕組みを誤解していますか?
スクリプト内で発生する唯一の実際の動的変更は'state'
、Cards 内のオブジェクトのプロパティが変更されることです。それでも、明示的に宣言されていない限り、すべてのプロパティとすべての DOM 要素を再描画します。
それらはすべて1つの配列でテンプレートに渡されるためですか? もしそうなら、これを行うための最良の代替方法は何ですか.
構造は少しごちゃまぜです。これは学習経験であり、問題のすべての重要なビット (私が知る限り) が存在しclient/memory.js
、server/model.js