我正在开发一个jquery移动项目,我想使用knockout,因为我非常了解mvvm,并且认为它会加快我的项目速度。我拥有的是一个带有元素数组的 View 模型,当我为这些元素创建一个模板并在模板中放置一个按钮时,它不会使用 jquery mobile css 进行模板化。
在这里查看 js fiddle :JsFiddle Example
我希望播放器的按钮能够从jquery获取样式,就像页面底部的按钮(不在模板中)。
这只是一个例子,我希望也能应用于其他表单元素,这个问题有什么好的解决方案吗?
最佳答案
让我与您分享一些有关 jQueryMobile 工作原理的知识。
初始化页面时,jQueryMobile 会使用 data-...
迭代所有节点。属性并使它们成为移动控件,通过修改 DOM 来实现这些更改。
您的按钮位于<script type="text/html">
内标签,因此 jQM 无法到达它。这是因为浏览器不解析 script
中的内容标签。
避免此问题的常用方法是为 KO 实现自定义绑定(bind),它将当前节点初始化为按钮。请查看我的代码版本:http://jsfiddle.net/romanych/z9sbC/3/
关于jquery mobile css 未应用于 knockout 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406356/