jQM Knockout.js无容器控制流语法

时间:2013-12-05 15:09:51

标签: html5 jquery-mobile knockout.js mobile-browser

我正在使用jqm 2.3和knockout 2.2.1。这是代码:

<!-- ko foreach: items() -->
...some code...
<!-- /ko -->

如果我在我的Android智能手机上使用Wi-Fi连接,那一切都还可以。 相反,如果我使用移动连接,则在敲除绑定时返回错误,其中未定义项目的某些内部元素。

有人帮助我吗?

2 个答案:

答案 0 :(得分:0)

这听起来像是一个时间问题,在您应用绑定之前,您的DOM或视图模型尚未构建;几乎所有无线和移动连接之间的区别都在于各种组件的速度和顺序。

确保您的脚本在DOM完成之前不会开始运行(在<body>的末尾放置/引用它或将其放在jQuery DOM-ready处理程序中),以及在viewmodel构建之前它不会调用applyBindings(确保在创建VM的函数末尾发生对applyBindings的调用)。

答案 1 :(得分:0)

我认为这是Android浏览器的问题,如果连接速度慢,则无法解析评论。

我已经解决了组件淘汰赛的问题:knockout-repeat.js

<ul data-role="listview">
    <li data-bind="repeat: { foreach: people, item: '$item' }" data-repeat-bind="text: $item().firstName">
    </li>
</ul>

结果如下:http://jsfiddle.net/uUX9f/3/