使用Kendo UI排序数组可排序和角度

时间:2016-09-14 06:09:48

标签: angularjs typescript kendo-ui kendo-sortable

我正在使用带有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"}
        ];

是否有解决方法,所以我可以访问该阵列?

我在这里有一个例子:http://codepen.io/anon/pen/ozbRJA?editors=1010

1 个答案:

答案 0 :(得分:0)

Philipp所述,更改事件位于另一个上下文中。使用this.$angular_scope.ctrl.data,我可以访问控制器范围和数组。它不是很漂亮,但它确实有效。