Vue:从导入更新数据()中的值
Vue: update a value in data() from import
我有一个名为 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>
显示初始值,但未更改。确实发生了变化,我可以看到 'Auth state changed' 消息与 id
.
一起记录
导入值的变化不会反映在 data()
中吗?
否则我该怎么做?
额外:我可以不在 template
中做 {{ user.id }}
并且让 script
只包含 import
吗?
因为 uid 很可能是一个字符串,它被复制而不是通过引用共享。对于更新组件中值的身份验证,传递用户对象本身,以便在两个文件之间共享相同的对象。
我有一个名为 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>
显示初始值,但未更改。确实发生了变化,我可以看到 'Auth state changed' 消息与 id
.
导入值的变化不会反映在 data()
中吗?
否则我该怎么做?
额外:我可以不在 template
中做 {{ user.id }}
并且让 script
只包含 import
吗?
因为 uid 很可能是一个字符串,它被复制而不是通过引用共享。对于更新组件中值的身份验证,传递用户对象本身,以便在两个文件之间共享相同的对象。