【发布时间】:2016-09-14 06:09:47
【问题描述】:
我正在使用带有 Angular 和 Typescript 的 Kendo UI。我知道 Kendo UI 和 Angular 很痛苦,但我必须这样做......
视图效果很好,但是当我想访问 change-Event 中的数组并重新排序数组时,变量不存在。这似乎是另一个范围。所以在这个演示中会弹出警报:
// Change Event
changed(e: kendo.ui.SortableEndEvent) {
console.log(e);
console.info(this.data);
// For Demo
if(this.data == undefined){
alert("Can not access Data Array");
return;
}
// swap
var oldElement = this.data[e.oldIndex];
this.data[e.oldIndex] = this.data[e.newIndex];
this.data[e.newIndex] = oldElement;
}
data = [
{ value: "Val 1" },
{ value: "Val 2"},
{ value: "Value 3"},
{ value: "Value 4"}
];
是否有解决方法,以便我可以访问该数组?
【问题讨论】:
-
change事件很可能在Sortable小部件的上下文中调用。像this.$angular_scope.ctrl.data这样的东西可能会起作用。很遗憾,我现在无法验证。 -
它就像一个魅力!在我的主项目中,我什至不得不做
this.$angular_scope.$parent.ctrl.data,但这没关系。谢谢!
标签: angularjs typescript kendo-ui kendo-sortable