依靠AngularJS提供的Excel加载项中的“ng应用程序”
我正在开发一个Excel外接程序。很久以前,我在某个地方看到了一个关于用office.js启动AngularJS插件的答案。不幸的是,我再也找不到这个线程了。提出了以下解决方案,但我不记得最初的问题是什么:依靠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']) }) } 现在,我尝试编写,而
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';
}
}