2 週間前に RC6 に更新しましたが、現在取り組んでいるプロジェクトの画面の 1 つでエラーに気づきました。hasMany 関係を持つ ember モデルがあります。そのモデルは、hasMany 関係のプロパティに基づいて計算されたプロパティとして、次のようになります。
notReadyToSend: function() {
return this.get('tweets').filter(function(tweet){
return !tweet.get('readyToSend');
})
}.property('tweets.@each.readyToSend')
これはつぶやきモデルに属します:
readyToSend: function() {
//if all properties are true, then this property returns true
}.property('title', 'body', 'alreadySent', and many other properties)
そして、データがロードされている時点では、すべてのツイートは「準備完了」ではありません。データがロードされているためですが、データ全体がロードされると、一部のツイートは「notReady」に「準備ができていない」ままになります。つまり、Tweet ember モデルには「ready」プロパティがあり、これにもいくつかのロジックがあり、そのプロパティは true ですが、「notReady」プロパティは起動されません。これは、最後のツイートに対して発生します (所有しているツイートの数に応じて、1 つだけ、2 つなど)。
この問題が発生している人はいますか?
私はコードを更新しましたが、注意として、それらは実際のモデルではありませんが、それは基本的に私がやっていることです. readyToSend プロパティはすべてのレコードに対して true に設定されますが、親モデルの notReadyToSend プロパティは更新されませんが、繰り返しますが、これはすべてのレコードでは発生しません。親プロパティを起動しません。
もう 1 つ更新します。親モデルに別のプロパティがあり、ツイート関係の 1 つのプロパティもチェックします。次のようになります。
hasAtLeastOneTweetALreadySent: function() {
return this.get('tweets').findProperty('alreadySent');
}.property('tweets.@each.alreadySent')
また、「alreadySent」プロパティは、ツイート モデルの「readyToSend」プロパティでも観察されています。何らかの理由で、その (hasAtLeastOneTweetALreadySent) プロパティをコメントアウトすると、すべてが正常に機能します。なぜこれが起こっているのか知っていますか? これは奇妙です。