Как использовать getAsync для надстроек outlook (office.js) в угловом шаблоне, созданном с помощью yo office? - PullRequest
0 голосов
/ 14 июня 2019

Я создал Angular Outlook Addin, используя инструмент Office Yeoman

https://github.com/OfficeDev/generator-office

В app.component.html я настроил простой TextField, например,

<div class="ms-TextField">
    <input class="ms-TextField-field" type="text" value="" placeholder={{name}}>
</div>

В app.component.ts я хотел бы поместить текущую дату и время начала в виде текста в это текстовое поле, но я не могу понять, как использовать функцию javascript, предусмотренную в файле angular ts.

https://docs.microsoft.com/en-us/javascript/api/outlook_1_7/office.time?view=office-js#getasync-callback-

Office.context.mailbox.item.start.getAsync(function (asyncResult) {
    if (asyncResult.status === "failed") {
        console.log("Action failed with error: " + asyncResult.error.message);
    }
    else {
        console.log("Start date and time: " + asyncResult.value);
    }
});

Как мне заполнить имя результатом этого обратного вызова и как заставить работать JavaScript в файле TS?

App.Component.TS

import { Component } from '@angular/core';


const template = require('./app.component.html');

@Component({
    selector: 'app-home',
    template
})

export default class AppComponent {
    name = 'Loading...';
    // ADD CODE HERE TO SET NAME TO START DATE AND TIME

    async run() {

    }
}

Я пытался использовать Office.context.mailbox.item.start.getAsync, но команда Office жизнеспособна, только если я установил для нее значение переменной. Я не могу заставить его работать так, как предлагается в документации, и не смог найти ни одного примера, использующего Angular для Office.Js, где они используют эти методы Async для outlook. любые идеи или помощь приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...