Я использую KnockoutJs, и это здорово, но мне нужна одна вещь, и я не могу в этом разобраться.
- Я делаю запрос на получение, который возвращает данные JSon. Те же свойства, что и у моего Knockout ViewModel.
- Я использую плагин сопоставления, чтобы преобразовать результат JSON в модель представления Knockout.
Это отлично работает, но, конечно, я теряю методы, определенные в моей нокаутирующей модели представления.
Как предотвратить это, чтобы я мог использовать отображение и сохранить свои методы?
Большое спасибо!
Обновлять
Это всего лишь образец. Возможно, есть какие-то синтаксические ошибки, но это должно показать, что я пытаюсь сделать.
Мой JavaScript
var MyViewModel = function () {
var self = this;
self.id = ko.observable();
self.subModels = ko.observableArray();
self.doSomething = function () {
alert("Hello from " + self.id());
};
};
var MySubViewModel = function () {
var self = this;
self.id = ko.observable();
self.doSomething = function () {
alert("Hello from " + self.id());
};
};
Мои модели С#
public class MyViewModel
{
public int Id { get; set; }
public List<MySubViewModel> SubModels { get; set; }
}
public class MySubViewModel
{
public int Id { get; set; }
}
Результат моего сервера
return new MyViewModel
{
Id = 1,
SubModels = new List<MySubViewModel>
{
new MySubViewModel { Id = 1 },
new MySubViewModel { Id = 2 }
}
};
ko.mapping.fromJSON
иko.mapping.fromJS
. Вопрос в том, как это сделать правильно. - person dknaack   schedule 20.07.2012