2014-12-19 95 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