Я в процессе замены одного адского кода javascript/jquery с knockoutjs, и я пытаюсь найти лучший путь вперед. У меня нет времени, чтобы заменить все одновременно, поэтому мне придется интегрировать логику нокаута с существующим javascript ...Populate модель нокаута из javascript
Есть ли способ заполнить модель представления нокаутом из javascript, который не вызывается из данных атрибут привязки? Любая помощь будет приятной, так как я не смог найти ее где-нибудь еще (по крайней мере, не все, что сработало).
Я знаю, что я упоминаю здесь, это не «правильный» способ делать что-то, но я пытаюсь перенести части кода javascript ... Выполнение всего за один раз не вариант в данный момент.
(с помощью нокаута 3,2)
Edit: Обычно существующий Javascript делает что-то вроде:
$('#productlist').append(productItemHtmlCode);
И я предпочел бы это сделать что-то вроде:
ViewModel.productList.push(productItemObject);
Я не уверен, что вы просите. Вы ищете способ сделать наблюдаемые из ваших данных? Или вы просите «обернуть» текущий код в режиме просмотра KO? Или оба? Может быть, пример поможет. – Beartums
Существующая логика javascript модифицирует DOM многими способами и путем обновления текущей логики до нокаута, я бы хотел, чтобы она изменила ViewModel вместо этого ... если это вообще возможно :) – Sandman
Итак, в основном, из приведенного вами примера, вы хотите временно отменить работу Knockout из * обновления вида от модели * до * обновления модели ** частично ** из представления *? Я не думаю, что это возможно. Вместо этого я бы начал рассматривать мой код jQuery как компоненты и постепенно преобразовывать каждую часть в код нокаута. – Tyblitz