Вопрос по mvvm, c#, asp.net-mvc, javascript – Как я могу сгенерировать клиентские модели для нокаута в проекте ASP.NET MVC?

11

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceededdata-model="@Model.ToJson()"Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

  • Custom JSON serialization to render the observable view model directly to the output in the data-model attribute.
  • Automatic client-side transformation (I've heard of ko-autobind, but am not sure if it would be a recommended path to take or how stable/complete it is)
  • Something I haven't thought of

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Ваш Ответ

2   ответа
6
Это выглядит действительно полезным, спасибо! :-)
10

.map функция

Если это ViewModel

function Task(data) {
    this.title = ko.observable(data.title);
    this.isDone = ko.observable(data.isDone);
}

И эта функция получает данные с сервера, она использует.map функция для ввода данных сервера прямо в виртуальную машину

// Data
var self = this;
self.tasks = ko.observableArray([]);

// Load initial state from server, convert it to Task instances, then populate self.tasks
$.getJSON("/tasks", function(allData) {
    var mappedTasks = $.map(allData, function(item) {
        return new Task(item)
    });
    self.tasks(mappedTasks);
});

Для картографии Ко http://knockoutjs.com/documentation/plugins-mapping.html

Для автоматической привязки приведен пример

https://groups.google.com/forum/#!msg/knockoutjs/IJTx37UXQVw/UTrWdEK1C-oJ

Похоже, ко-маппинг - лучший выбор
Вот где вам нужна автосвязка, я думаю, что она была вызвана, или да, в противном случае вам нужно иметь одну для каждого :-(
Это в значительной степени то, что я уже делаю, так как вам нужна функция Task для каждой модели представления. Решение, которое я ищу, не должно требовать, чтобы у меня был метод или класс для каждой модели представления, а должно было иметь один общий фрагмент кода для выполнения преобразования (на стороне клиента или сервера). Поправь меня, если я ошибаюсь. Morten Mertner
Автосвязь работает? Последний раз оно обновлялось 7 месяцев назад, и в файле readme говорится "Это первоначальный коммит и поддерживается только привязка имен элементов к viewmodel", и это, по-видимому, подразумевает, что материал отсутствует или что некоторые случаи не будут работать, не будучи очень явным об этом. Кроме того, jsfiddle, на который автор ссылался в другом посте, был сломан, поэтому можно использовать пример, если это ваша рекомендация;) Morten Mertner
здесь некоторая информация на сайтеknockoutjs.com/documentation/plugins-mapping.html и вот репозиторий Git, показанный в версии 2.1.2 от месяца назад Автор Steve Sgithub.com/SteveSanderson/knockout.mapping/tree/master/build/…

Похожие вопросы