Knockout Kendo和原始价值观

时间:2015-05-29 12:27:00

标签: knockout.js kendo-ui kendo-dropdown

我想知道,为什么非原始值在Kendo-Knockout绑定中不起作用。

我有2个DropDownLists:

<!-- This one works fine -->
<input data-bind="kendoDropDownList: {
data: Names,
value: SelectectedValue1,
dataTextField: 'Name',
dataValueField: 'ID',
valuePrimitive: true
}" />


<!-- This one doesn't work -->
<input data-bind="kendoDropDownList: {
data: Names,
value: SelectectedValue2,
dataTextField: 'Name',
dataValueField: 'ID',
valuePrimitive: false
}" />

简单的虚拟机:

var datajs = 
    [{'ID':1,'Name':'Name 1'},
     {'ID':2,'Name':'Name 2'},
     {'ID':3,'Name':'Name 3'},
     {'ID':4,'Name':'Name 4'},
     {'ID':5,'Name':'Name 5'}
    ];

var ViewModel = function() 
{
    this.Names = ko.observableArray(datajs);
    this.SelectectedValue1= ko.observable(null);
    this.SelectectedValue2= ko.observable(null);
};

ko.applyBindings(new ViewModel());

第一个下拉列表使用原始值作为值,第二个下拉列表应该绑定整个对象。但它不起作用。两个选定值都是具有ID的基元。为什么呢?

小提琴:http://jsfiddle.net/RaptorCZ/4x710zbn/

我发现的唯一方法是创建计算器以根据所选ID从集合中获取对象。

0 个答案:

没有答案