0
フィドルはこちら(jsfiddle含む):私は意図的に二つの別々の観察可能な配列をロードしていますhttp://jsfiddle.net/7kv0d3t6/1/奇数挙動は
注:programmeList & programmeList2。
マッピングバージョンが動作しない理由を私は理解していない:
ko.mapping.fromJS(data, {}, ViewModel.programmeList);
そして、本当に奇妙なことは、長さを示すことのHTMLデータバインドされたスパンである:
<span data-bind="text: programmeList().length"></span>
...ショー"5"であり、html(少なくともテーブル見出しを表示する必要がありますか?)またはconsole.log出力には何も表示されません。
programmeList2を使用するようにhtmlコードを変更した場合は、テーブルが表示されますが、マッピングプラグインを使用してやりたいのですが、私のフィドルで表示されている異常を理解したいと思います!あなたのコードで
ああ私の良い神私はそんなにばかです!今回はそれが効いていますが、私はその値を再割り当てしています!まあ、目撃された...と皆の時間を無駄にしてごめんなさい! – TheMook
多くのjsリンターは、このような種類のエラー(つまり、 'if'ブロック内の' = ')に対して警告を出します。ロジックをビューモデルに移動すると、通常、これらのタイプミスを避けるのに役立ちます。例: 'this.hasProgrammes = ko.pureComputed(()=> this.programmeList()。length> 0)' – user3297291
等号がないとエラーが出るように定数を書くことをお勧めします( 'if :0 = programmeList()。length') –