Javascript 如何更新k-ng-model(也称为与ng-model类似的双向绑定)

Javascript 如何更新k-ng-model(也称为与ng-model类似的双向绑定),javascript,angularjs,kendo-ui,telerik,Javascript,Angularjs,Kendo Ui,Telerik,剑道k-ng-model是否支持双向绑定,如果不支持,最好的模拟方法是什么 一点背景: 在angular中,当ng模型更新完成时,所有相关方都会更新(例如,刷新视图)。在剑道中,当使用k-ng-model时,我找不到一种方法来做同样的事情,我想直接从控制器/指令中设置值 以下是一个例子: 为了以防万一,代码也会: <input kendo-auto-complete k-ng-model="vm.kendoSelection" ng-model="v

剑道
k-ng-model
是否支持双向绑定,如果不支持,最好的模拟方法是什么


一点背景:

在angular中,当ng模型更新完成时,所有相关方都会更新(例如,刷新视图)。在剑道中,当使用k-ng-model时,我找不到一种方法来做同样的事情,我想直接从控制器/指令中设置值

以下是一个例子:

为了以防万一,代码也会:

 <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'" />

编辑:

即使在Dion Dirza给出答案后,k-on-change也没有启动(尽管这是一个方向正确的解决方案)


Dion Dirza

正如文档所述,
k-ng-model
应该存储或返回小部件值的实际类型。因此,要使变量
kendoSelection
工作,应将其定义为小部件值的实际类型,在本例中,它是自动完成小部件的数组类型

更改代码

vm.kendoSelection=[{name:“阿尔巴尼亚”}]


因为您在这里存储对象数组,所以您的变量应该是对象数组。请注意,您的对象应该包含一个定义为widget数据值字段的属性,它将用于与当前数据源进行比较。

问题是,k-on-change仍然没有启动,但这是一个良好的方向。在这种情况下,k-on-change工作得非常完美。。你有什么问题?可能会针对不同的上下文提出另一个问题。当从vm.kendoSelection的“代码隐藏”设置时,k-on-change会为您触发?您之前没有提到它是“以编程方式”触发的,那么yes change事件也不会随之触发,正如所指出的那样。你可以为它添加。
  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" };                  
          });