2015-07-12 81 views
4

Kendo k-ng-model是否支持雙向綁定,如果不是,模擬它的最佳方法是什麼?如何更新k-ng模型(又名與ng模型的雙向綁定)


上下文的位:

在有角的,當一個更新NG-模型完成後,所有感興趣的各方被更新(例如刷新視圖)。在kendo中,當使用k-ng-model時,我無法找到相同的方法,我希望直接從controller/directive中設置值。

下面是一個例子:Coding Dojo

而且,只是在情況下,代碼,以及:

<input kendo-auto-complete 
     k-ng-model="vm.kendoSelection" 
     ng-model="vm.angularSelection"      
     k-data-source="vm.countryNames" 
     k-data-value-field="'name'" 
     k-data-text-field="'name'" /> 

樣品控制器:

angular.module("MyApp", [ "kendo.directives" ]) 
     .controller("Controller", function(){     
      // just some data source 
      this.countryNames = [ 
       { name: "Albania" }, 
       { name: "Andorra" } 
       ]; 

      // how to set the k-ng-model here, so that it is also propagated properly (like on 
      // the view, and that other events like k-on-change work)? 
      this.kendoSelection = { name: "Albania" };     
      }); 

編輯:

即使從翁Dirza答案後,第k電平變化不點火(altough它是在良好的方向中的溶液)

Example with k-on-change

翁Dirza

回答

3

作爲文檔所說,k-ng-model應該存儲或返回實際類型的小部件值。因此,要使變量kendoSelection正常工作,應將其定義爲實際類型的窗口小部件值,在此情況下爲自動完成窗口小部件的陣列類型。

更改代碼

vm.kendoSelection = [{ name: "Albania" }];

因爲你在這裏存放對象數組所以你的變量應爲對象的數組。請謹慎對待,您的對象應該包含一個屬性,該屬性定義爲將用於與當前數據源進行比較的小部件數據值字段

+0

問題是,k-on-change仍然沒有開火,但是這是一個好的方向。 –

+0

在這個[dojo](http://dojo.telerik.com/EwALa)k-on-change完美工作..你有什麼問題?也許在不同的背景下提出另一個問題 –

+0

從vm.kendoSelection「後面的代碼」設置時,k-on-change會被激發嗎?http://dojo.telerik.com/@DenisB/AmaLI/4 –