【问题标题】:kendo ui upload onComplete context in AngularJSkendo ui在AngularJS中上传onComplete上下文
【发布时间】:2018-09-03 06:35:17
【问题描述】:

我使用 AngularJS 和剑道上传widjet。

HTML 标记:

<input name="files"
    kendo-upload
    type="file"
    k-complete="vm.onFilesUploadComplete"/>

控制器:

class MyController{
   constructor(){
      this.myImportantVar = false;
   }

   onFilesUploadComplete{
        this.myImportantVar = true; // << here 'this' points to another context, not to MyController
    }
}

vm - 是 MyController 的别名。

Complete 事件触发,但在事件处理程序内部我无法访问“myImportantVar”,因为“this”指向另一个上下文,而不是 MyController,上下文(某些角度的上下文),我无法继续。

如何访问“myImportantVar”?

【问题讨论】:

标签: angularjs file-upload kendo-ui


【解决方案1】:

使用angular.element获取控制器:

class MyController{
   constructor(){
      this.myImportantVar = false;
   }

   onFilesUploadComplete{
       var elem = angular.element(this);
       var vm = elem.controller(); 
       vm.myImportantVar = true; // << here 'this' points to another context, not to MyController
   }
}

有关详细信息,请参阅AngularJS element function API Reference - jQuery/jqLite Extras

【讨论】:

  • 有什么方法可以在 MyController 上下文中执行事件处理程序吗? elem.controller() 没有给我指向 MyController 的指针
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
相关资源
最近更新 更多