Breeze 如何将列与属性绑定?

Breeze 如何将列与属性绑定?,breeze,slickgrid,Breeze,Slickgrid,我正在尝试连接slickgrid和breeze.js,但我遇到了一个问题 breeze为您生成js模型,对象属性具有get和set方法,如: var p1 = myobj.property1(); var p2 = myobj.property2(); myobj.property1("Test"); 但是在slickgridcolumns模型中,如何将列与属性绑定 columns : [ { id: "id", name: "

我正在尝试连接
slickgrid
breeze.js
,但我遇到了一个问题

breeze为您生成
js
模型,对象属性具有get和set方法,如:

var p1 = myobj.property1();
var p2 = myobj.property2();

myobj.property1("Test");
但是在
slickgrid
columns模型中,如何将列与属性绑定

columns : [
        {
            id: "id",
            name: "ID",
            field: "property1"  //this way I only see for every row on the page the text "function..."
        },
        {
            id: "prop2", name: "prop2", field: "property2"
        }
        ]
尝试使用breeze“backingStore”适配器而不是默认的“ko”(knockout)适配器

这只需要文件顶部附近的一行Breeze配置

 breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);

backingStore适配器为您的模型创建ES5道具,而不是“敲除”属性。我猜这些将更容易绑定到slickgrid

是的,成功了!但我有一个问题,更改适配器在我现有的淘汰视图中有一些副作用?根据这一点,这种改变对IE8不起作用吗?Breeze“backingStore”适配器只适用于支持ES5的浏览器,也就是IE9及以上版本。淘汰适配器通过ES5垫片与旧浏览器配合使用。Breeze目前只支持每个应用程序一个模型库适配器,而且可能不太适合拥有多个模型库适配器。另一种可能性是,如果你需要坚持使用ko,但需要打开一个ko的实体,看看knockout的“toJS”方法。真的谢谢你!另一个初学者的问题是,使用ko.toJS将打破实体跟踪的障碍?如果是这样,这将打破在slickgrid中更新数据和使用breeze保存对实体的更改之间的魔法。我来自silverlight mvvm ria services world,在那里您在domaincontext中加载了数据,并在datagrid上显示了数据,更改了数据,domaincontext.submit将修改后的实体发送到服务器。Breeze knockout和slickgrid是我目前在html javascript worldPersonal bias中发现的更接近技术…,但为了简单起见,我将通过backingStore适配器使用Angular。您的slickgrid应该像您期望的那样工作,angular的mvvm架构应该可以很好地用于任何其他控件。但是我真的不知道您的操作受到什么限制。Hello@Jay,我听从您的建议,我正在尝试使用mvvm架构的Breeze、Angular和SlickGrid,但似乎有一个问题,当我使用$scope加载和绑定数据时。$apply(),我得到:RangeError:超出了最大调用堆栈大小,在google中,该错误,看起来angular试图克隆视图上的数据,但对于breeze对象则失败。wijgrid也会出现这个问题。那么,你认为呢?非常感谢。