繁体   English   中英

Backbone.js渲染延迟?

[英]Backbone.js rendering delay?

我是骨干新手,我无法解决一个问题。 我将骨干与require.js一起使用。 当我想第一次渲染某些视图时(当我在浏览器中重新加载页面时),index.html会立即显示,但是它隐藏了大约2秒钟,然后使用渲染的模板再次显示。 如果我随后在视图之间导航(不刷新),则可以正常工作,但是初始渲染有问题。 这是我的代码:

视图:

define(['jquery','underscore','backbone', 'text!../../../templates/home/HomeView.tpl'], 
function($, _, Backbone, HomeTemplate)
{
var HomeView = Backbone.View.extend(
{
    events:{
    },

    render: function () 
    {
        var template = _.template(HomeTemplate);
        this.$el.html(template);

        return this;
    }

});

return HomeView;
});

路由器:

define(['jquery','underscore','backbone'], 
function($, _, Backbone)
{ 
var container = $("#container");

var AppRouter = Backbone.Router.extend(
{                       
    routes: 
    {
        "": "home"
    },

    home: function()
    {
        require(['views/home/HomeView'], 
        function(HomeView)
        {
            var Home = new HomeView({el: container});
            Home.render();
        });
    }


}); 


var initialize = function()
{
    var app_router = new AppRouter();


    Backbone.history.start();   
};

return { initialize: initialize };

});

我在控制台中没有错误。 这是正常现象吗?

这是正常的。

RquireJs通过http请求加载依赖项,并且这些请求确实存在超时。 此外,在浏览器中,最大并行下载是有限制的。 在启动时,这些延迟很容易加起来最多为2秒,加上网络延迟。

如果要最小化此延迟,请按照RequireJS docs中所述使用r.js最小化文件。

编辑:如果缩小无法解决问题,则浏览器分析工具可以为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM