как использовать перевод google-translate-api вне метода? - PullRequest
0 голосов
/ 12 марта 2020

Я начал использовать Cloud Google и внедрил API перевода в своем коде, но не могу использовать ответ вне обратного вызова.

methods:{
        clicked(){
            const text = "Olá";
            const target = navigator.language;
            googleTranslate.translate(text, target, function(err, translation){
                console.log(translation.translatedText)
                //this.newText =  translation.translatedText;
            });
            //console.log(this.newText);
        },
    }

Показать ошибку с или без console.log. В this.newText = translation.translatedText;

Ошибка при рендеринге: «TypeError: Невозможно прочитать свойство 'newText' of undefined"

Я хотел бы показать Пользователь ответ в шаблоне. Как я могу это сделать?

1 Ответ

1 голос
/ 12 марта 2020

Использование ключевого слова function изменяет контекст «this». Вы можете сохранить 'this' вне функции или использовать функции стрелок.

Вот как вы можете использовать функцию стрелки

methods:{
    clicked(){
        const text = "Olá";
        const target = navigator.language;
        googleTranslate.translate(text, target, (err, translation) => {
            console.log(translation.translatedText)
            //this.newText =  translation.translatedText;
        });
        //console.log(this.newText);
    },
}
...