Tengo una función dentro de user.js con una exportación predeterminada como esta
export default { var getListFriends = async (accessToken) =>{ } ....other function return { getListFriends, ...other function... } }luego lo importo a index.js
import userService from './user';Luego agregaré solo index.js al complemento.
Puedo llamar a this.$userService (se muestra como una función anónima) pero this.$userService.getListFriends devuelve indefinido.
¿Cómo puedo llamar a la función getListFriends desde import. Muchísimas gracias.
¿Dónde está usuario.js? si está dentro del directorio de complementos, debe usar inyectar para agregarlo a su nuxt.
luego puede acceder a él a través del objeto nuxt dentro de su código. vea este ejemplo de nuxt docs:
export default ({ app }, inject) => { // Inject $hello(msg) in Vue, context and store. inject('hello', msg => console.log(`Hello ${msg}!`)) }Puedes ver el documento completo aquí
bien, ahora para que esto funcione de la manera que desea, debe cambiar su archivo user.js,
export default { friends: () => { console.log('hi bro'); }, notFriends: () => { console.log('go away man im not your bro'); } };algo como esto. no necesita inyectar o aplicar en su usuario.js. y su problema de código es que está definiendo una función e intentando acceder a sus valores internos desde el exterior como:
function boo() { var b = 0; }no puede acceder al valor de b con boo.b. es una variable local para la función boo
en su lugar, cree un objeto y tenga múltiples funciones dentro de su objeto