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" };
});