用于在前端JavaScript中加载视图的设计模式

时间:2015-04-07 09:09:11

标签: javascript jquery ajax backbone.js

我对网络编程比较陌生,我正在寻找一个简单的模式来显示网络上的" loading" /等待视图。在我说其他任何事情之前,我只从服务器发送最少量的数据,并开始将JS / HTML资源发送到客户端,而客户端使用AJAX从服务器请求更多数据(这可能不是最理想的但是要忍受我)。所以基本上,理论上这应该意味着Web视图最初会弹出,但是花费更多时间来加载一些数据和相应的子视图。因此需要加载视图。

所以我们有标准的jQuery函数.ready()

fetchSomeDataAsynchronously(); //self-explanatory

$(document).ready(function () {

    //should I load waiting view here or can I initialize it earlier??

    window.mainUserHomeView = new MainUserHomeView({el: $("#user-home-main-div")});
    window.mainUserHomeView.render();

    window.userHomeMainTableView = new UserHomeMainTableView({el: $("#user-home-main-table-div")});
    window.userHomeMainTableView.render();


     fetchTeamSnapTeams(); //fetch more data asynchronously

});

也许我的问题很简单 - 我可以在.ready()之前显示加载屏幕吗?这会是什么样的?

1 个答案:

答案 0 :(得分:1)

是的,你可以。只需添加脚本即可在HTML headbody开头显示该视图。确保在加载所需资源(例如jQuery)之后将其放入。

简化示例:

<html>
    <head>
        <script type="text/javascript">
            function showLoadingView() {
                // ...
            }

            showLoadingView();
        </script>
    </head>
    <body>
        <!-- ... -->
    </body>
</html>