敲除绑定失败

时间:2013-12-30 21:21:49

标签: javascript knockout.js breeze durandal-2.0

开始脱掉我的头发! 我正在使用Breeze创建一个对象(元数据来自web api服务器)。

服务器端看起来像这样:

public class Product
{
    public int ProductId { get; set; }
    public String Name { get; set; }
    public String Description { get; set; }
}

在客户端,我使用Breeze创建一个实体:

var product = ko.observable();
product(manager.createEntity('Product', {name:'', description:''}));

在用户界面上,我有以下内容:

<div class="modal-body">
    <input type="text"" class="form-control"  data-bind="value: name" >
    <textarea class="form-control" data-bind="value: description"></textarea>
</div>

问题是:敲除绑定名称没有问题,但没有描述!以下是我在控制台中获得的内容:

  

无法处理绑定“value:function(){return description}”   消息:描述未定义;

我得不到的是:product已正确创建并包含Chrome调试视图中显示的所有必需属性:

enter image description here

2 个答案:

答案 0 :(得分:1)

确保绑定到正确的上下文。正如@nemesv在注释中指出的那样,直接在textarea中使用console.log()函数应该足以找到可用的属性。

鉴于您使用的是Durandal 2.0,您还可以使用控制台查看绑定上下文中的可用内容。 Durandal的系统记录器实际上将当前绑定的上下文直接输出到控制台。它似乎显示加载了哪个模块以及该模块的上下文。

Binding views/patients/overview/index > Object { activate: function }

展开对象将显示当前可用的内容以及任何子属性。

答案 1 :(得分:-1)

你可以试试吗?     &lt; textarea class =“form-control”data-bind =“value:description ()”&gt;&lt; / textarea&gt;