angularJS $表示优化问题

时间:2016-12-01 10:35:13

标签: javascript angularjs

基本上,我的问题是角度$ state优化。我有一个小项目,每次调用某个状态,其中有大约9个对象要解决,加载页面大约需要3-4秒。我认为问题出在状态上,所以我决定只用一个9的数据解析一个对象,而不是解析那些9.但我意识到页面加载还需要3-4秒。有没有办法优化角度代码,以便加载更快。

resolve: {

                // Countries: function (msApi)
                // {
                //     return msApi.resolve('countries@query');
                // },
                // Nationalities: function (msApi)
                // {                        
                //     return msApi.request('nationalities@query');
                // },
                // EmploymentStatuses: function (msApi)
                // {                        
                //     return msApi.request('employment-statuses@query');
                // },
                // Industries: function (msApi)
                // {                        
                //     return msApi.request('employment-industries@query');
                // },
                // JobFunctions: function (msApi)
                // {                        
                //     return msApi.request('employment-jobfunctions@query');
                // },
                // EducationLevels: function (msApi)
                // {                        
                //     return msApi.request('employment-educationlevels@query');
                // },
                // FieldOfStudy: function (msApi)
                // {                        
                //     return msApi.request('employment-fieldofstudy@query');
                // },
                SkillList: function (msApi)
                {                        
                    return msApi.request('employment-skilllist@query');
                },   

                //All Requests in One
                ResumeData: function (msApi)
                {                        
                    return msApi.request('resume-entry-requests@get');
                }, 
            }

那些评论,是由ResumeData获得的。视图页面还有相当多的ng-repeats,这可能是一个问题吗?如果是,是否有任何其他方法可以替换ng-repeat以填充选择和其他组件以提高性能?

1 个答案:

答案 0 :(得分:0)

您可以使用$httpProvider.useApplyAsync(true);http://blog.thoughtram.io/angularjs/2015/01/14/exploring-angular-1.3-speed-up-with-applyAsync.html)来加速多个请求。

并且,你可以创建一个缓存服务,它将保存数据,比方说5分钟,所以当用户切换状态时,它将从内存中的js对象而不是服务器获取数据。

不幸的是,这就是我现在所能想到的,就像http调用性能一样。如果它本身需要4秒钟,你就无能为力了。