난 내가 foreach 문으로 통해 루프를 시도하고 객체를 가지고,하지만 난KnockoutJS는 : 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에서 얻을 모든
이 있습니다 : PHP 스크립트에서<div data-bind="foreach: $root"></div>
내 ViewModel을가지고 JSON 데이터와 같은 구조 : 09, 10, 36 파티션 ID가 있습니다. 각 파티션에는 파티션 이름이 표시되는 '파티션'변수가 있습니다. 실제 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 : 여기에 사용할 수 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"}
},
}
}
을
: http://pastebin.com/zpNngr53내가 잘못 여기서 뭐하는 거지?
질문에 명확하지 않은데 코드가 완전하지 않습니다. 내가 그것을 완료하려고하면, 나를 위해 잘 작동합니다. [이 바이올린] (http://jsfiddle.net/jeroenheijmans/TVRHc/)을 참조하십시오. – Jeroen
JSON을로드하는 코드와'ko.applyBindings'를 작성하는 코드는 무엇이 있습니까? –
원본 질문에 JS와 JSON을 추가했습니다. – solefald