[英]Outlook Add-In Built using Angular showing blank screen on Windows Outlook App pre 1903 build
[英]Outlook Add-in using Angular 4
我正在使用angular4开发Outlook加载项。 我无法理解使用角度开发办公室插件的几个概念。
Office.initialize
和Office.OnReady()
,因为无论何时启动我的应用程序,我都会收到错误,我没有实现Office.OnReady
尽管我使用了Offize.initialize
Office.initialize
? 您只需要实现其中一个。 在正确初始化Office
之前,您可能正在尝试访问某些办公方法。 我一般喜欢做的是有一个带有微调器的加载屏幕,只有办公室初始化后才能从该屏幕导航。
Office.initialize = function(reason) { window.location.hash = 'apploaded'; }
不 - 你只需要初始化一次,除非你正在进行服务器刷新。 只要你留在你的应用程序的上下文而不是刷新整个应用程序但只是在组件之间导航,你应该没问题。
它可能,特别是如果在本地,你的意思是你在没有Office上下文的情况下这样做(所以你不在客户端)。 我通常如何解决这个问题的方法是永远不要直接访问Office对象,而是始终通过一个服务,如果Office对象/或其子属性发生错误,它不会失败。 而不是
// calling directly in some component office.context.mailbox.item.to.getAsync
我会做
OfficeService.GetAsync() { if (Office && Office.context && Office.context.mailbox && ...) { // call real method } else { console.log('Detected local mode - without office context') // do a fake test operation instead of the real thing. } }
查看functionFile 。 这为您提供了功能区中的按钮,您可以单击该按钮并执行基本功能。 它仍然会将html加载到一个看不见的浏览器中,但在这种情况下你不会得到一个任务窗格。 这应仅在客户端子集中支持,而不是一切。
有几种方法可以执行此操作,您只需将清单中的任务窗口条目URL指向该组件URL即可。 像这样
<SourceLocation DefaultValue="https://randommailaddin.org/component"/>
并将/component
路由映射到您的组件,因此当用户单击该按钮时,它只会加载该组件。 您仍然需要初始化办公室上下文,否则您的功能将无法正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.