0

为什么带有 Angular 的 Kendo Uploader 不应用 UI 中的更改?

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

$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

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

4

1 回答 1

1

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

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

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

$scope.onSelect = kendoEvent($scope, function (event) {
    ...
});
于 2016-11-13T17:35:06.710 回答