![](/img/trans.png)
[英]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.