Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
依靠AngularJS提供的Excel加载项中的“ng应用程序”_Angularjs_Ms Office_Mean Stack_Office Js_Office App - Fatal编程技术网

依靠AngularJS提供的Excel加载项中的“ng应用程序”

依靠AngularJS提供的Excel加载项中的“ng应用程序”,angularjs,ms-office,mean-stack,office-js,office-app,Angularjs,Ms Office,Mean Stack,Office Js,Office App,我正在开发一个Excel外接程序。很久以前,我在某个地方看到了一个关于用office.js启动AngularJS插件的答案。不幸的是,我再也找不到这个线程了。提出了以下解决方案,但我不记得最初的问题是什么: Office.initialize = function (reason) { jQuery(document).ready(function () { angular.bootstrap(document, ['app']) }) } 现在,我尝试编写,而

我正在开发一个Excel外接程序。很久以前,我在某个地方看到了一个关于用office.js启动AngularJS插件的答案。不幸的是,我再也找不到这个线程了。提出了以下解决方案,但我不记得最初的问题是什么:

Office.initialize = function (reason) {
    jQuery(document).ready(function () {
        angular.bootstrap(document, ['app'])
    })
}
现在,我尝试编写,而不是使用上面的块,它允许我延迟加载office.js。到目前为止,外接程序似乎也能正常工作

那么,有人知道这种方式是否存在Excel加载项的潜在风险吗?Office.initialize不是强制性的,对吗

编辑1:我刚刚意识到它在所有情况下都不能正常工作,问题是:。

Office.initialize是必需的。我解决这个问题的方法是这样的

使用配置load controller到部分模板loading.html的映射

到目前为止,该块确保当您使用yourserver.org/url处于外接程序的默认开始位置时,显示的是加载控制器。在加载控制器的html中,只需放置一个微调器。因此,当您的应用程序加载,但office.js尚未初始化时,您将显示微调器

现在,在LoadController中,您将初始化office.js并重定向到另一个局部视图

function LoadController(/* Your dependencies */){
    Office.initialize = function() {
         window.location.hash = 'app';
    }
}

在LoadController中,angular应用程序的“/”url仅显示加载程序。因此,您看到的第一个模板是加载模板-但您已经在angular应用程序中。当office.js初始化时,它只是向您指出实际体验。

谢谢。。。LoadController在哪里?我不明白你的解决方案,你能详细说明一下吗?更新了答案。如果你需要更多,请告诉我
function LoadController(/* Your dependencies */){
    Office.initialize = function() {
         window.location.hash = 'app';
    }
}