Когда я читаю https://docs.telerik.com/kendo-ui/AngularJS/introduction, кажется, что для любого события, определенного в API для, я могу использовать префикс k-on-
вместо префикса k-
, чтобы установить событие таким образом, чтобы он работает внутри цикла дайджеста:
Настройка обработчиков через атрибут k-on
Вы также можете указать обработчики событий, используя атрибуты. Они требуют префикса k-on-
.
<div ng-app="app" ng-controller="MyCtrl">
<input kendo-date-picker k-on-change="onDateSelected(kendoEvent)" />
<p ng-show="selected">A month was picked</p>
</div>
...
Переменная kendoEvent
определена в области видимости, и вы должны передать ее обработчику событий. Если вы используете атрибуты k-on-
, вам не нужно вызывать $digest()
в области видимости, поскольку ваши привязки позаботятся об этом.
Однако, когда я пытаюсь сделать это с событием file-upload
select
, мой обработчик никогда не запускается:
<input name="files"
type="file"
kendo-upload
k-async="{ saveUrl: 'save', removeUrl: 'remove', autoUpload: true }"
k-on-select="onSelect"
/>
Мой обработчик запускается, если вместо этого я передаю его как k-select
, но иногда изменения, вносимые в $scope
, не приводят к обновлению моего экрана.
Правильно ли я читаю документацию Kendo? Как мне обойти эту проблему?