支持带有角度1.x的可固定任务窗格

时间:2018-03-21 09:34:54

标签: angularjs outlook-addin

我现在正在尝试在Outlook Windows版本中实现可修复的任务窗格,这是唯一受支持的平台。我将Office.context.mailbox.addHandlerAsync()添加到Office.initialize后。我发现了角度自举问题。我应该在itemChanged处理函数中再次引导我的应用程序吗?有没有优雅的方法来做到这一点?

现在我的代码。

Office.initialize = function(reason) {
    $(document).ready(function() {
        Office.context.mailbox.addHandlerAsync(
            Office.EventType.ItemChanged,
            function(eventArgs) {
                // angular.bootstrap(document.body, ["my-addin"]);
                location.reload();
            },
            function(asyncResult) {
                // This is callback for addHandlerAsync. This will be called ONCE when the event is registered.
            }
        );
        angular.bootstrap(document.body, ["my-addin"]);
    });
    if (OfficeHelpers.Authenticator.isAuthDialog()) return;
};

我现在正在为每个itemChanged事件使用location.reload()。

1 个答案:

答案 0 :(得分:0)

你能试试吗?

我无法在Outlook中设置pinnable功能,因为我还没有看到可修复功能所需的Windows / Office更新,但假设您正在寻找这个功能:

Office.initialize = function(reason) {
    $(document).ready(function() {
        Office.context.mailbox.addHandlerAsync(
            Office.EventType.ItemChanged,
            function(eventArgs) {
                // angular.bootstrap(document.body, ["my-addin"]);
                //location.reload();
                //inject the '$window' provider in your service/controller  
                $window.location.reload(); 
            },
            function(asyncResult) {
                // This is callback for addHandlerAsync. This will be called ONCE when the event is registered.
            }
        );
        angular.bootstrap(document.body, ["my-addin"]);
    });
    if (OfficeHelpers.Authenticator.isAuthDialog()) return;
};

注意: Office.context.mailbox.addHandlerAsync 要求API要求设置为v1.5,而Outlook 2016 MSI安装仅在发布此答案时支持v1.4。