尝试在kendowWindow中使用kendo-mobile-switch。开关显示正常,但不切换。在相同的页面上包含相同的kendo css / js,如果在页面本身使用,而不是在kendoWindow内部,相同的移动开关切换就好了。
我查看了页面源代码,看起来当切换切换时,会添加以下转换:
<span class="km-switch-handle" style="transform: translateX(27px) translateY(0px);">
“非切换”状态下的相同开关如下所示:
<span class="km-switch-handle" style="transform: translateX(0px) translateY(0px);">
但是,如果我查看kendoWindow内部切换的来源,在切换和非切换状态下,它看起来像这样:
<span class="km-switch-handle" style="transform: translateX(0px) translateY(0px);">
我也通过kendo.all.js进行了操作,看起来当切换开关时,它会计算根据位置变换自身所需的偏移量。我的猜测是在kendoWindow中显示,得到位置逻辑失败/无法正常工作:
_position: function (position) {
var that = this;
that.position = position;
that.handle.css(TRANSFORMSTYLE, 'translatex(' + position + 'px)');
if (that._animateBackground) {
that.background.css(MARGINLEFT, that.origin + position);
}
},
知道问题可能是什么?
答案 0 :(得分:0)
猜猜我会回答我自己的问题: 在列表视图中使用移动开关时发现了一个非常类似的问题: http://www.telerik.com/forums/angular-kendo-mobile-switch-in-list-view-template
此示例中的开关与kendoWindow中的开关完全相同。从问题的标题来看,问题在于“在将项目插入DOM之前执行角度编译”。这可以解释为什么在使用kendoWindow的情况下不计算位置。