0

我有一个文件叫Authenticator.coffee

...
# User
user =
    id: '123'
export { user }


# Auth change
auth = firebase.auth()
auth.onAuthStateChanged (u) => 
    console.log('Auth state changed ', u.uid)
    user.id = u.uid

...并且Page.vue我想显示id

...
{{ uid }}
...


<script>
    import { user } from '../providers/Authenticator.coffee';
    export default {
        data() {
            return {            
                uid: user.id
            }
        }
    }
</script>

显示初始值,但不显示更改。确实发生了变化,我可以看到“身份验证状态已更改”消息与id.

导入值的变化不会反映在 中data()吗?
否则我该怎么做?

额外:我可以不做{{ user.id }}并且templatescript包含import吗?

4

1 回答 1

0

由于uid很可能是一个字符串,它被复制而不是通过引用共享。对于更新组件中的值的身份验证,请传递用户对象本身,以便在两个文件之间共享同一个对象。

于 2019-09-27T08:20:23.970 回答