我想知道在导航到包含一个脚本的脚本后,是否有一种方法可以在使用MVVM时重新加载KendoUI小部件。例如,假设我们有:
<div id="view_content"></div>
<script id="index" type="text/x-kendo-template">
<span id="info-notification"
data-role="notification">
</span>
</script>
我们已经设置了一个KendoUI路由器来访问“/index”。
var router = new kendo.Router();
router.route("/index", function() {
var index = new kendo.View('index');
index.render("#view_content");
});
router.start();
router.navigate("/index");
这会将脚本以id =“view_content”加载到div中。问题是,每次访问“/index”时,窗口小部件都不会重新加载。该窗口小部件首先加载在
document.ready
上,但是在再次调用后不会重新加载。有什么办法可以做到这一点? 最佳答案
您可以使用Kendo UI View show()事件来重新加载小部件。
<body>
<div id="application"></div>
<script id="main" type="text/x-kendo-template">
<div id="content"></div>
</script>
<script id="index" type="text/x-kendo-template">
<!-- Widgets here -->
</script>
</body>
var layoutModel = kendo.observable({
});
var indexModel = kendo.observable({
});
var main = new kendo.Layout('main', {
model: layoutModel
});
var indexView = new kendo.View('index', {
model: indexModel,
show: function () {
// update widget here
}
});
var router = new kendo.Router({
init: function () {
main.render('#application');
}
});
var router = new kendo.Router();
router.route("/index", function() {
main.showIn('#content', indexView);
});
$(function () {
router.start();
});
关于javascript - KendoUI MVVM : Reload widgets after router.导航,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35218505/