Почему событие «показывать» на Kendo View срабатывает дважды? - PullRequest
3 голосов
/ 23 мая 2019

Если представление кендо отображается в макете (с использованием layout.showIn ()), событие show для представления запускается дважды.Интересно, что если представление отображается непосредственно в элемент DOM (с использованием view.render ()), событие запускается только один раз, как и должно быть.

Код довольно хорошо скопирован из Kendo UI Dojo thingee,Интересно, можете ли вы запустить это: https://dojo.telerik.com/AkOwiMAZ/2

<div id="app"></div>
<script>
var foo = new kendo.View("<span>Foo</span>", { hide: function() { console.log("Foo is hidden now"); }, show: function() { console.log( "Foo is shown now"); }});

var layout = new kendo.Layout("<header>Header</header><section id='content'></section><footer></footer>");

// Creating the layout, and using the showIn method to render the view
// is where I'm having the issue (2 'show' events fire)
layout.render($("#app"));
layout.showIn("#content", foo);
//
// But this way works fine (rendering directly to a DOM element) (just // one 'show' event fires)
//foo.render('#app');
</script>

Я бы хотел, чтобы событие 'show' запускалось один раз, поскольку оно показывается только один раз:)

1 Ответ

2 голосов
/ 24 мая 2019

Это ошибка, появившаяся в последнем выпуске кендо 2019 R2 (2019.2.514).Переключение вашего образца на использование предыдущей версии 2019 R1 SP1 (2019.1.220) приводит к тому, что он ведет себя так, как ожидается https://dojo.telerik.com/AkOwiMAZ/5

Telerik обычно выпускает пакет обновления примерно через месяц после каждого ежеквартального выпуска;мы собрали с ними отчет об ошибках, поэтому есть вероятность, что его можно исправить в 2019 R2 SP1.В противном случае, я думаю, что ваша лучшая ставка на данный момент - придерживаться 2019.1.220.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...