【问题标题】:Show authenticated user in vuejs在 vuejs 中显示经过身份验证的用户
【发布时间】:2017-05-25 10:32:05
【问题描述】:

我尝试在 laravel 5.3 和 vue 2.0 中遵循以下教程:

https://www.youtube.com/watch?v=CeXDx4hdT1s

Products.vue:

<my-product :key="product.id"
            v-for="product in products"
            :authenticatedUser="authenticatedUser"
            :product="product">

...

computed: {
  authenticatedUser() {
     this.$auth.getAuthenticatedUser()
  }
},

产品.vue:

export default{
    props: ['product', 'authenticatedUser']
}

Auth.js

setAuthenticatedUser(data){
  authenticatedUser = data;
},

getAuthenticatedUser(){
  return authenticatedUser;
}

Navbar.vue:

export default {
    data() {
        return {
            isAuth: null
        }
    },

    created() {
        this.isAuth = this.$auth.isAuthenticated();

        this.setAuthenticatedUser();
    },

    methods: {
        setAuthenticatedUser() {
            this.$http.get('api/user')
                    .then(response => {
                        this.$auth.setAuthenticatedUser(response.body);
                        console.log(this.$auth.getAuthenticatedUser());
                    })
        }
    }

我尝试传递在 Product.vue 中的 Products.vue 中调用的经过身份验证的用户

为此,在每次登录时,都会调用 Navbar.vue 中的 setAuthenticated 方法,其中应在相应方法中设置经过身份验证的用户。

但是当我在浏览器的调试器中检查该属性时,它写成 Props authenticatedUser: undefined。实际上没有显示经过身份验证的用户。

知道它缺少什么吗?

【问题讨论】:

  • console.log(this.$auth.getAuthenticatedUser()); 它会返回预期的内容吗?
  • 是的,它返回用户

标签: laravel laravel-5 vue.js vuejs2


【解决方案1】:

computed 中,您需要return 您希望该属性采用的值。

应该是:

computed: {
  authenticatedUser() {
     return this.$auth.getAuthenticatedUser()
  }
},

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2021-03-23
    • 1970-01-01
    • 2022-12-04
    • 2020-11-15
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    相关资源
    最近更新 更多