通过动态

时间:2017-03-20 14:58:45

标签: javascript angularjs

我遇到了这种情况,我需要从另一个脚本文件加载整个角度应用程序。我的想法是从后端获取应用程序的版本,当我得到版本时,我必须加载角度应用程序。 所以现在,我有<script src="versionLoader.js">之类的东西。在文件中,我正在尝试加载整个角度应用程序。

 $.ajax({
  url: "url",
  success: function(version){
    versionFiles(version.app_version);
  },

});
var files=[angularFiles];

var versionFiles=function(version){
  for(var i=0; i<files.length; i++){
    var scriptElem= document.createElement("script");
    scriptElem.src="scripts/"+files[i]+"?v="+ version;
    document.body.appendChild(scriptElem);
  }
 }

其中versionFiles包含角度应用程序(app.js)和其他所有组件的初始化。我将元素添加到文档<script src="scripts/services/tag.js?v=0.7"></script>但是应用程序无法加载模块未找到错误。

这对我来说可能是愚蠢的。非常感激它:)。

1 个答案:

答案 0 :(得分:1)

由于您是动态注入脚本 - 您的引导在脚本加载之前发生。使用promise来解决此问题。

library(tidyverse)
df %>%
    group_by(Year, Location) %>%
    summarise(Catch = sum(Catch)) %>% 
    spread(Year, Catch, fill = 0)
# A tibble: 4 × 8
#  Location `1981` `1987` `1989` `1990` `1991` `1999` `2000`
#*    <int>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
#1      312      0      0      0      0   1500    410      0
#2      313      0      0      0 101000  90200      0 145100
#3      711    623    323    646      0      0      0      0
#4     1285      0    770      0      0      0      0      0