3

开始扯我的头发了!我正在使用 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:''}));

在 UI 上,我有以下内容:

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

问题是:淘汰赛绑定到名称没问题,但没有绑定到描述!这是我在控制台中得到的:

无法处理绑定“值:函数(){返回描述}”消息:描述未定义;

我没有得到的是:product正确创建并包含所有需要的属性,如 Chrome 调试视图中所示:

在此处输入图像描述

4

2 回答 2

1

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

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

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

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

于 2013-12-30T22:45:06.420 回答
-1

你能试试 <textarea class="form-control" data-bind="value: description () "></textarea>

于 2013-12-30T21:49:49.507 回答