Не могу заставить мою привязку данных работать с knockoutJS

В настоящее время я работаю над приложением с DurandalJS, BreezeJS и KnockoutjS.

Все идет хорошо, но самое простое (я считаю), я не могу заставить его работать. Вот оно.

В моей Viewmodel у меня есть currentCustomer, который является ko.observable. Через Бриз я получаю клиента! currentCustomer(data.results[0].Customer());Это все работает нормально. Если я проверю с Google Chrome, я вижу, что объект заполнен currentCustomer.

Я хочу следующее: у меня есть поле ввода и со значением привязки данных я пытаюсь привязать имя currentCustomer к этому вводу. Но я не могу заставить это работать. Что работает, это:

 <input data-bind="value: currentCustomer()" />

Но в поле ввода он говорит только [Object object], так что в currentCustomer определенно что-то есть.

Это то, что я пытался, но не получилось:

<input data-bind="value: currentCustomer().Name()" />
<input data-bind="value: currentCustomer().Name" />
<input data-bind="value: currentCustomer.Name()" />
<input data-bind="value: currentCustomer.Name" />
<input data-bind="value: currentCustomer()._latestValue().Name()" />
<input data-bind="value: currentCustomer()._latestValue.Name()" />

Если кто-то может помочь, это было бы здорово;) Вот скриншот, чтобы вы могли видеть значения в представлении! http://s22.postimg.org/62m21nnsx/problem_data_bind.png

Грамм Leroy

2 ответа

Решение

Вы пытались использовать "с"?

<div data-bind='with:currentCustomer'>
<input data-bind="value: Name/Name()" />
</div>

Измените его на currentCustomer(). Name, и это должно сработать, если Name является свойством объекта currentCustomer.

Другие вопросы по тегам