我正在使用弹出窗口来选择一个项目,然后应用程序将使用特定的查询字符串加载远程视图。这很好用,但是,它似乎破坏了我在布局中使用的选项卡条中的一些功能。首先,选定的标签条图标将不再应用活动的 CSS 属性(例如图标不会改变颜色)。其次,在显示带有(查询字符串参数)的新远程视图后尝试使用选项卡条时收到以下错误:
Uncaught TypeError: Cannot call method 'switchTo' of undefined general.mobile.functions.js:150
resetTabStripgeneral.mobile.functions.js:150
closeModalViewAndResetTabStripgeneral.mobile.functions.js:59
i.extend.triggerkendo.mobile.min.js:9
o.extend._releasekendo.mobile.min.js:14
arguments.length.t.(anonymous function)kendo.mobile.min.js:10
b.event.dispatchjquery.min.js:3
v.handle
这是在我的函数 resetTabStrip 中引发错误的代码行:
$("[data-role=\"tabstrip\"]").data("kendoMobileTabStrip").switchTo("#test1");
这是标签条在 DOM 内部的外观(在我的初始页面/视图中使用 JQuery 初始化):
<footer data-role="footer" class="m-footer km-footer" style="padding: 0; background-color: rgb(26, 46, 120);">
<div class="m-tabstrip km-tabstrip" data-role="tabstrip">
<a href="#test1" data-icon="favorites" data-rel="popover">Test1</a>
<a href="#test2" data-icon="home">Test2</a>
<a href="#test3" data-icon="action" data-rel="modalview">Test3</a>
</div>
</footer>
最后,当我尝试输出$("[data-role=\"tabstrip\"]").data("kendoMobileTabStrip")
到 Google Chrome 的控制台时,我得到了未定义。
我正在使用带有 JQuery 1.9.1 的 Kendo Q1 2013 版本。
更新:
data-reload="true"
在当前视图上使用时会发生此问题
更新 2:
在谷歌浏览器的控制台窗口中,我正在观察标签条元素data()
被添加到我的 SPA 中。当我到达我的问题视图(带有data-reload="true"
)时,tabstrip 工作正常。一旦我离开该视图,data()
添加到我的 SPA 中的第一个 tabstrip 元素就会未定义,随后很快就会出现其余元素。
我认为最近的 tabstrip 元素data()
将变为未定义,因为它属于使用data-reload="true"
. 我开始相信这可能是 Kendo 破坏此视图的标签条的方式中的一个错误,因为它应该破坏最新的标签条,而不是第一个。