首页 > 解决方案 > 如何在 vue js 中更改导出常量

问题描述

我有常量:

export const globalUser = new Vue({
  created: function(){
    this.getActualUser();   
  },
  data: {
    ActualUser: {name:'',meta:'',tipo:''}
  },
  methods:{
    getActualUser: function(){
        var urlMeta='usuarioActual';
                axios.get(urlMeta).then(response=>{
                    this.ActualUser=response.data;
                });
    }   
  }
});

现在我将它导入到 vue js 的一个组件中

import {globalUser} from '../app.js'

这是我的数据:

data:function(){
            return {
                usuarioActual:globalUser.ActualUser,
                anotherData:{}
            }
   }

这返回我:“usuarioActual”:{“name”:“”,“meta”:“”,“tipo”:“”},数据为空。

我想要的是在方法 getActualUser 运行后返回给我的数据:

实际用户:{name:'currentName',meta:'currentDat',tipo:'currentType'}

它运作良好:

axios.get(urlMeta).then(response=>{
                        this.ActualUser=response.data;
                    });

标签: laravel-5vue.jsvue-component

解决方案


我以错误的方式做到了,也许它会起作用。我得到了一个不同的解决方案:我没有在组件中使用数据,而是使用“道具”。我不需要导入,只需在 laravel 的刀片模板中调用道具,我可以使用 laravel 中的@elements。组件中的道具:

props:{
            usuario:String
        },

现在我正在使用它:

@extends('layouts.app')

@section('content')
<user-component usuario="{{ Auth::user()->name }}"></user-component>
@endsection

效果很好,如果您需要更多数据,您可以在模型中添加一个函数。现在我可以在我的组件模板中使用它

<template>
   <tr v-if="{{usuario}} =='Admin'">

推荐阅读