Как Angular обнаруживает события, происходящие при нажатии Kendo?

Может кто-нибудь объяснить, почему логика позволяет обнаруживать нажатия кнопки Кендо внутри области без ng-модели на кнопке?

<kendo-button on-click="clickWithoutNgModel()">Button</kendo-button>

$scope.clickWithoutNgModel = function () {
        alert("Clicked without using ng-model on the button");
} // this works - how?

1 ответ

Решение

На самом деле все наоборот. AngularJS не обнаруживает событие click, но виджет Kendo вызывает метод контроллера AngularJS.

При создании виджетов Kendo код Kendo будет связывать clickWithoutNgModel выполняет функцию обработчика событий для события щелчка в виджете кнопки "Кендо". Для этого он использует $scope.$eval чтобы получить функцию из области видимости, а затем вызвать ее при срабатывании события click.

Другие вопросы по тегам