2012-01-18 8 views
0

私は本当にko.observableArrayをソートするのに苦労しています。私は過去1時間の解決策を探していました。私はこの本でそれをやっていると確信しています。KnockoutJS多次元ソートko.observableArray

基本的に問題は、要素の配列がソート時に実際には存在しないという事実から来ているようです。各項目は、私が仮定関数で表されるKnockoutJSが変異を聞くことができます...しかし、それは非常に私を助けていない:)

Link to JSfiddle | http://jsfiddle.net/farina/W7HJP/

私のバイオリンをチェックアウトし、ソートのリンクをクリックしてください。表示されているように、実際の並べ替えの代わりにNaN値の束が得られます。

ご協力いただければ幸いです!

+0

あなたはソート(内部の機能を削除するとき、それはちょっとそれをソート) – LouwHopley

+0

まあ...ああ、それは配列をソートします...もしそれが多次元でなければ素晴らしいでしょう。 – farina

答えて

2

観測値の値にアクセスするときは、それを引数なしの関数として呼び出す必要があります。だから、

var myObservable = ko.observable("Bob"); 
myObservable("Ted"); //set the value to something else 
alert(myObservable()); //read the current value "Ted" 

だから、あなたの一種で、あなたはどうなる:

 this.sortItems = function() { 
      this.incidents.sort(function (a, b) { 
       return b.id() - a.id(); 
      }); 
     }; 

http://jsfiddle.net/rniemeyer/W7HJP/10/

+0

優秀な...私はそれが関数のようにそれに対処しなければならなかったことを理解していない!まだ動作しませんが、それはおそらく私のソートロジックです。 – farina

+0

心配しないで、私はちょうど後ろにソートしていた...ありがとう! – farina