Khi bạn phát hiện ra rằng kết quả so khớp ban đầu cho nút radio chỉ muốn so khớp với một chuỗi và muốn đặt giá trị thành một chuỗi, thì việc chuyển đổi giá trị ban đầu của bạn thành chuỗi. Tôi đã phải đấu tranh với điều này bằng các giá trị Int.
Sau khi bạn đã thiết lập các vật có thể quan sát của mình, hãy chuyển đổi giá trị thành chuỗi và KO sẽ thực hiện phép thuật của nó từ đó. Nếu bạn đang ánh xạ với các dòng riêng lẻ, hãy thực hiện chuyển đổi trong các dòng đó.
Trong đoạn mã ví dụ, tôi đang sử dụng Json để ánh xạ toàn bộ Mô hình trong một lệnh duy nhất. Sau đó, để Razor chèn giá trị vào giữa các dấu ngoặc kép để chuyển đổi.
script type="text/javascript">
KoSetup.ViewModel = ko.mapping.fromJS(@Html.Raw(Json.Encode(Model)));
KoSetup.ViewModel.ManifestEntered("@Model.ManifestEntered");
KoSetup.ViewModel.OrderStatusID("@Model.OrderStatusID");
</script>
Tôi sử dụng "Đưa tất cả ra màn hình" ở cuối trang web của mình trong quá trình phát triển.
<h4>Debug</h4>
<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
Đây là các giá trị dữ liệu, Trước khi
"OrderStatusID": 6,
"ManifestEntered": true,
và, Sau khi
"OrderStatusID": "6",
"ManifestEntered": "True",
Trong dự án của mình, tôi không cần phải chuyển đổi Bools, vì tôi có thể sử dụng hộp kiểm không có cùng sự thất vọng.