Как использовать экспортированные функции в приложении VueJS? - PullRequest
0 голосов
/ 23 января 2020

Я использую Firebase для аутентификации пользователей, служба Firebase работает нормально. Я новичок ie с ним, и я хочу делегировать услуги Firebase классу, файлу или модулю (я не знаю точно, как это правильно). Поэтому я создал модуль Settings.vue для сбора данных и модуль UserService.js для выполнения работы, связи с Firebase и локального хранения с использованием Vuex, а также возврата в случае успеха или неудачи, а при возврате получить данные из состояния (Vuex) с помощью метода computed on Settings.vue. На данный момент это мои файлы:

Settings.vue

<template> ... </template>

<script>
import UserService from "@/services/UserService";

export default {
  name: "Settings",
  mounted() {},
  methods: {
    saveDisplayName() {
      UserService.updateDisplayName(this.displayName).then(function(retorno) {
        console.log("Returning: " + retorno);
      });
    }
  },
  data() {
    return {
      displayName: '',
      password: ''
    };
  }
};
</script>

UserService.js

import firebase from 'firebase'

var updateDisplayName = function (displayName) {
    return new Promise(function (resolve, reject) {
        var user = firebase.auth().currentUser;
        console.log("updateDisplayName")
        setTimeout(function () { resolve("resolved! " + displayName) }, 3000);
    })
}

var updatePassword = function (password) {
    return new Promise(function (resolve, reject) {
        var user = firebase.auth().currentUser;
        console.log("updatePassword")
        setTimeout(function () { resolve("resolved! " + password) }, 3000);
    })
}

Итак, когда я запускаю его, я получаю следующее сообщение:

 WARNING  Compiled with 1 warnings                                                                              11:54:41 PM

 warning  in ./src/views/Settings.vue?vue&type=script&lang=js&

"export 'default' (imported as 'UserService') was not found in '@/services/UserService'

1 Ответ

0 голосов
/ 23 января 2020

Вы можете экспортировать свою функцию в UserService.js

, попробуйте добавить этот код в UserService.js

export default {
  updateDisplayName,
  updatePassword
}
...