foreach でループしようとしているオブジェクトがありますが、失敗しています (これは、6 か月間コーディングを行わなかったことが私にもたらしたものです...)
これはうまくいきます:
<div data-bind="text: $root[36].partition"></div>
しかし、foreachは私のために働いていません。
<div data-bind="foreach: $root">
<div data-bind="text: $data.partition"></div>
</div>
私がhtmlで取得するのはこれだけです:
<div data-bind="foreach: $root"></div>
私のviewModelはphpスクリプトからJSONデータを取得しており、次のように構造化されています.09、10、36はパーティションIDです。各パーティションには、パーティションの名前を表示する「partition」変数があります。実際の JSON 構造はさらに深くなります。これは単なる表現のためのものです。
top level
09
partition
vip
10
partition
vip
36
partition
vip
これは私のJSです。特別なことは何もない、ただ遊んでいるだけだ
$(document).ready(function() {
var viewModel = {};
$.getJSON('/lbstat/read.php', function(data) {
viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
});
});
JSON:
{"23":{
"partition":"Prod New SVCs Partition",
"env_dc":"Prod",
"hosts":["server01.domain.com", "server02.domain.com"],
"vips":{
"124":{
"dc_endpoint":"ADX - Prod - Intranet",
"gw_port":"9007",
"vip_name":"adx-prd.domain.net"
},
"210":{
"dc_endpoint":"Msg - Prod - Internet",
"gw_port":"8013",
"vip_name":"messaging-prd.domain.com"
},
"211":{
"dc_endpoint":"Msg - Prod - Intranet",
"gw_port":"9013",
"vip_name":"messaging-prd.domain.net"}
},
}
}
ここで利用可能な完全な JSON: http://pastebin.com/zpNngr53
ここで何が間違っていますか?