0

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) プロパティをコメントアウトすると、すべてが正常に機能します。なぜこれが起こっているのか知っていますか? これは奇妙です。

4

0 に答える 0