Если представление кендо отображается в макете (с использованием 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' запускалось один раз, поскольку оно показывается только один раз:)