使用 Kendo UI 可排序和 Angular 对数组进行排序
Sort Array with Kendo UI Sortable and Angular
我正在使用 Kendo UI 和 Angular 以及 Typescript。我知道 Kendo UI 和 Angular 很痛苦,但我必须那样做...
视图效果很好,但是当我想访问更改事件中的数组并对数组重新排序时,变量不存在。似乎这是另一个范围。所以在这个演示中,警报会弹出:
// 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"}
];
是否有解决方法,以便我可以访问数组?
正如 Philipp 评论的那样,更改事件在另一个上下文中。使用 this.$angular_scope.ctrl.data
我可以访问控制器范围和数组。不是很漂亮,但是很管用。
我正在使用 Kendo UI 和 Angular 以及 Typescript。我知道 Kendo UI 和 Angular 很痛苦,但我必须那样做...
视图效果很好,但是当我想访问更改事件中的数组并对数组重新排序时,变量不存在。似乎这是另一个范围。所以在这个演示中,警报会弹出:
// 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"}
];
是否有解决方法,以便我可以访问数组?
正如 Philipp 评论的那样,更改事件在另一个上下文中。使用 this.$angular_scope.ctrl.data
我可以访问控制器范围和数组。不是很漂亮,但是很管用。