Kendo angular 的上传者没有更新范围

Kendo uploader with angular doesn't update scope

为什么 Kendo angular 的上传器不应用 UI 中的更改?

假设 select 事件(成功时相同):

$scope.onSelect = function(e) {
   var message = $.map(e.files, function(file) { return file.name; }).join(", ");
   kendoConsole.log("event :: select (" + message + ")");
   $scope.uiUpdate = "doesn't work";
   //$scope.$apply();
}

道场例如:http://dojo.telerik.com/UpuGoK

如果我 运行 范围应用函数那么它可以工作,但我不喜欢这个解决方案。

不幸的是,您将不得不使用 $scope.$apply 因为事件是在 Angular 不知道的情况下触发的。这个 Kendo 上传组件似乎是一个 jQuery 的东西,与 Angular 有点兼容。

你能做的最好的事情就是创建一个你可以到处使用的函数:

function kendoEvent($scope, eventHandler) {
    return $scope.$apply(eventHandler);
}

$scope.onSelect = kendoEvent($scope, function (event) {
    ...
});