5

我目前正在使用 DurandalJS、BreezeJS 和 KnockoutJS 开发一个应用程序。

一切都很好,但最简单的事情(我相信),我无法让它工作。

在我的 Viewmodel 中,我有一个 currentCustomer,它是一个 ko.observable。通过微风,我得到了客户!currentCustomer(data.results[0].Customer());这一切都很好。如果我使用 Google Chrome 进行检查,我会看到该对象充满了 currentCustomer。

我想要的是以下内容:我有一个输入字段和一个值 data-bind 我试图将 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

4

2 回答 2

3

你试过用'with'吗?

<div data-bind='with:currentCustomer'>
<input data-bind="value: Name/Name()" />
</div>
于 2013-05-07T14:52:43.303 回答
0

将其更改为 currentCustomer().name 并且如果 Name 是 currentCustomer 实体上的属性,它应该可以工作。

于 2013-05-07T14:52:43.793 回答