我现在正在尝试在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()。
答案 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。