Ajax를 통해 리턴 된 JS 오브젝트로부터 어떻게 동적 뷰 모델을 작성합니까?동적 뷰 모델
관찰 가능 객체 및 관찰 가능 어레이를 만들 때마다 get이 끝날 때마다 바인딩되지 않으면 뷰에 데이터가 포함되지 않으므로 경고가 여러 번 바인딩됩니다.
내 JS
var SummaryData = {
Summary: {
Count: 4
}
};
var DetailsData = {
Status: [{
Name: "One",
Type: 1
}, {
Name: "Two",
Type: 1
}, {
Name: "Three",
Type: 0,
Taco: "True"
}]
};
var self = this;
self.Summary = new ko.observableArray([]);
self.Details = ko.observable();
self.Load = function() {
$.ajax({
url: "/echo/json/",
data: SummaryData,
type: "GET",
success: function (data) {
// Map the returned JSON to the View Model
self.Summary = ko.mapping.fromJS(data.Summary);
}
})
$.ajax({
url: "/echo/json/",
data: DetailsData,
type: "GET",
success: function (data) {
// Map the returned JSON to the View Model
self.Details = ko.mapping.fromJS(data.Status);
}
})
내 HTML :
<span data-bind="text: Summary.Count"></span>
<table data-bind="foreach: Details">
<tr>
<td data-bind="text: Name"></td>
<td><button data-bind="click: $root.Clicked"></button></td>
</tr>
</table>
의 핵심은 관찰 가능한을 초기화하고 신중 바인딩을 사용하는 것입니다
http://jsfiddle.net/atwoodkevin/q8EKP/40/