我正在使用带有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"}
];
是否有解决方法,所以我可以访问该阵列?
答案 0 :(得分:0)
如Philipp所述,更改事件位于另一个上下文中。使用this.$angular_scope.ctrl.data
,我可以访问控制器范围和数组。它不是很漂亮,但它确实有效。