【发布时间】:2013-05-01 11:23:38
【问题描述】:
我目前正在使用 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()" />
这是一个屏幕截图,您可以看到视图中的值!
【问题讨论】:
-
<input data-bind="value: currentCustomer().Name" />应该可以工作,请仔细检查。您也可以尝试使用<input data-bind="value: ko.toJSON(currentCustomer)" />并使用输出更新帖子。 -
不,那没用!我现在就试试 ko.toJSON!不,ko.json 返回 NULL :S
-
您可能有一个复数帐户吗?对于这类信息,您真的应该看看 John Papa 的网站:johnpapa.net。他在这里也很活跃,所以我认为他会回答这种问题。
-
@NickN。我没有复数帐户。我希望他这样做,我从他的热毛巾模板中学到了很多;)。
-
也请尝试
<input data-bind="value: currentCustomer() && currentCustomer().Name" />
标签: javascript knockout.js breeze