jquery-mobile – Knockoutjs使用多种视图模式

前端之家收集整理的这篇文章主要介绍了jquery-mobile – Knockoutjs使用多种视图模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图让Knockout js与jQueryMobile一起工作,并且在页面之间移动时遇到一些问题.

我想尝试保留JQM中的页面转换,因此我想使用多页选项(在一个html文件中定义的多个页面),或将其他页面加载到DOM中,详见默认AJAX行为部分文档.

JQM Page Transition Documentation

我有两个单独的Knockoutjs页面,每个页面都有一个单独的视图模型.两个页面完美工作,直到我尝试通过JQM将它们连接在一起.

无论我尝试加载哪个页面,我得到与另一页面上的映射有关的错误.我只能假设两个页面被加载到单个DOM中,并且当Knockout应用绑定时,它正在寻找不存在的属性.

我试图制作一个jsFiddle来证明这一点.

JQM – Knockout Fiddle

我是新来的JQM和Knockout所以任何帮助赞赏.如果我完全采取错误的做法,那么我会赞赏有人指出我正确的方向.

我会更好地为整个网站使用一个viewmodel吗?如果不是如何使用Knockoutjs与JQM?

解决方法

整个网站的一个“主”视图模式是可以接受的.那么你可以这样做:
var masterviewmodel = {
   viewmodelOne: ...,viewmodelTwo: ...
}

或者,您可以调用.applyBindings重载来将绑定应用于单个元素,而不是整个DOM:

ko.applyBindings(new modelOne("Test","One"),$("#one")[0]);
ko.applyBindings(new modelTwo("Test","Two"),$("#two")[0]);

就个人而言,我推荐第二种方法.

原文链接:https://www.f2er.com/jquery/180083.html

猜你在找的jQuery相关文章