首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从文件上传k-选择事件更新作用域?

如何从文件上传k-选择事件更新作用域?
EN

Stack Overflow用户
提问于 2019-01-09 21:48:25
回答 1查看 240关注 0票数 0

当我阅读https://docs.telerik.com/kendo-ui/AngularJS/introduction时,它似乎建议对于API中定义的任何事件,我可以使用k-on-前缀而不是k-前缀来设置事件,使其在摘要循环中运行:

通过k-on属性设置处理程序,还可以使用属性指定事件处理程序。它们需要k-on-前缀。

kendoEvent变量是在作用域中定义的,您必须将它传递给事件处理程序。如果使用的是k-on-属性,则不需要在作用域上调用$digest(),因为绑定会处理它。

但是,当我尝试使用file-uploadselect事件执行此操作时,我的处理程序从未运行:

代码语言:javascript
复制
<input name="files"
  type="file"
  kendo-upload
  k-async="{ saveUrl: 'save', removeUrl: 'remove', autoUpload: true }"
  k-on-select="onSelect"
  />

如果我将其作为k-select传递,则我的处理程序确实会运行,但有时我对$scope所做的更改不会导致屏幕被更新。

我看得对吗?我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-10 19:03:48

实际上,k-on-select属性可以工作。但是,k-on-select将使用Scope#$eval并将其作为表达式执行。这是事件的AngularJS约定。由于我传递了一个解析为函数的表达式,所以每次计算k-on-select时都不会发生任何事情。

要在表达式中调用函数,必须使用函数调用语法«function»()。在kendo的AngularJS支持中,它在名为kendoEvent的变量中传递事件信息(而AngularJS中生成的事件则在名为$event的变量中传递该信息)。我的修正代码如下所示:

代码语言:javascript
复制
<input name="files"
  type="file"
  kendo-upload
  k-async="{ saveUrl: 'save', removeUrl: 'remove', autoUpload: true }"
  k-on-select="onSelect(kendoEvent)"
  />

感谢https://stackoverflow.com/users/548997,他在https://stackoverflow.com/posts/comments/95071026中指出了这一点!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54118865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档