创建时包含许多项目的Listview太慢

时间:2013-08-20 07:50:07

标签: jquery-mobile cordova jquery-mobile-listview

我使用移动应用程序和phonegap工作,该应用程序具有许多项目的JqueryMobile列表视图 (超过20项 li ),每个 li 都有文本框和3个单选按钮,当我尝试使用此代码创建和刷新listview时:

$("#ListView").trigger('create').listview().listview("refresh");

创建列表视图需要15秒。

任何人都知道如何使用多个项目加快listview的创建速度?

下面我用来填充listview的handelbar模板:

<ul data-role="listview" data-inset="true" id="lstQuestions">
    {{#each Data}}

        <li data-role="fieldcontain"  >
            <label  >{{DOrder}} - {{Title}}</label>

            <fieldset data-role="controlgroup" data-type="horizontal"  >
                <input type="radio" name="rdo-{{ID}}" id="rdo-{{InspectionID}}-{{ID}}-3" value="3" data-theme="c" />
                <label for="rdo-{{InspectionID}}-{{ID}}-3">Nothing</label>

                <input type="radio" name="rdo-{{ID}}" id="rdo-{{InspectionID}}-{{ID}}-2" value="2" data-theme="c" />
                <label for="rdo-{{InspectionID}}-{{ID}}-2">No</label>

                <input type="radio" name="rdo-{{ID}}" id="rdo-{{InspectionID}}-{{ID}}-1" value="1" data-theme="c" />
                <label for="rdo-{{InspectionID}}-{{ID}}-1">Yes</label>

            </fieldset>
            <fieldset data-role="controlgroup" class="fieldsetClass">
                <label for="txt-{{ID}}">Comment</label>
                <input type="text" id="txt-{{ID}}" name="txt-{{ID}}" value="{{Comment}}"   />
            </fieldset>
        </li>

    {{/each}}
</ul>

1 个答案:

答案 0 :(得分:0)

Qudah。
我一直在使用phonegap和jQuery Mobile开发应用程序。在jQuery Mobile中,listview非常慢。如果有很多项目,那么永远不会使用listview。
解决方案:你应该重写listview并忽略data-role =“listview”,你的应用程序会更快。

    <ul>
        <li>
        <li>
    </ul>
    //very faster than
    <ul data-role="listview">
        <li>
        <li>
    </ul>