2014-12-19 53 views
2

我的模板中有两个Kendo多选小部件。第一种是像这样:Kendo UI和AngularJS Multiselect:ng-model和k-ng-model之间的区别

<select kendo-multi-select="" 
     k-option-label="'Select Programs...'" 
     k-data-text-field="'name'" 
     k-data-value-field="'id'" 
     k-data-source="programs" 
     k-ng-model="selectedPrograms" 
     k-on-change="change(kendoEvent)"> 
</select> 

第二个是像这样:

<div ng-repeat="program in userData.programs"> 

    <select kendo-multi-select="" 
      k-option-label="'Select Services...'" 
      k-data-text-field="'name'" 
      k-data-value-field="'id'" 
      k-data-source="services" 
      ng-model="program.selectedServices" 
      k-on-change="change(kendoEvent)"> 
    </select> 

</div> 

现在,这里是我的问题。最初,当我在两个多选中使用属性设置k-ng-model时,我在控制器中设置的初始选项在单击多选时会消失。这与here所述的问题相同。但正如该解决方案所述,我删除了k-ng-model,并用ng-model替换了它,第二个多选功能完美地工作。

但是,当我在第一个多重选择中删除k-ng-model并将其替换为ng-model时,没有预先填充的数据。如果我保持k-ng-model它显示预填充的值,但点击多选时,它们消失。

这里发生了什么?如何解决?

+0

什么是数据源? Kendo.dataSource?另外,我不能告诉你的示波器是如何设置的,但我有一个暗示,如果你想将'selectedPrograms'放入一个可以解决你的问题的对象链接'obj.selectedPrograms'中。 – 2014-12-19 07:00:03

+0

@CorySilva不,只是从GET请求返回的常规对象。 – geekchic 2014-12-19 07:01:44

回答

0

Kendo UI开发人员在这里,我们最近在AngularJS,ng-model,k-ng-model和multiselect组件中做了大量的工作。如果你可以在jsbin中找出问题,这将有所帮助。请确保您使用的是repository的最新版本。

+0

何时使用k-ng模型与ng模型? – ps0604 2015-02-05 17:17:06

1

ng-model只提供值,您可以将该值绑定到您的范围。

例如,如果您使用的是Kendo的日期选择器控件,那么它将只为您提供日期值,如“7/4/2016”。

然而,

K-NG-模型为您提供完整的价值为目标,你可以将它绑定到你的范围。

例如,如果你使用的是剑道的日期选择控件,然后它会让你完整的日期值,你像对象“2016-07-12T05:00:00.000Z”

您也可以参考此链接在Kendo网站上 @http://docs.telerik.com/kendo-ui/AngularJS/introduction