Я столкнулся с странной проблемой с отображением Ko. я использую этот кусок кода:Данные отображения нокаута от ajax post vs Статические данные
var PList = [{ "Region": { "RegionName": "SomeRegion" }, "CDetails": {}, "Category": { "Name": "SomeCategory" }, "PSource": 1, "PDate": "0001-01-01T00:00:00"}];
var PViewModel = ko.mapping.fromJS(search('someSearch', 'True'));
var PViewModel2 = ko.mapping.fromJS(PostList);
function search(queryString, isFirst) {
$.ajax({
type: 'POST',
url: 'url',
data: { 'searchQuery': queryString },
dataType: 'json',
success: function (dt) {
if (isFirst != 'True') {
ko.mapping.fromJS(dt, PostsViewModel);
}
return dt;
}
});
};
Как ни странно, я вижу 2 результата:
- Когда я иду в PViewModel (тот, населенной AJAX) Я вижу это как
undefined
- Когда я иду к PViewModel2 (тот, у которого есть статические данные) Я вижу объекты как ожидалось
* Статические данные PViewModel2 - это всего лишь копия данных, возвращаемых a jax post.
Мои вопросы:
- Кто-нибудь знает, почему это так? И как это исправить?
- Кроме того, является ли статья
if (isFirst != 'True')
правильным способом инициализации модели просмотра ko?
Ваш вопрос непонятен – user2779544
Включите все ваши скрипты, чтобы мы могли видеть структуры моделей и привязки – Stokedout