现在有三个文件
data.js
import {calNum} from './Cal' export const a={ name:calNum }
Cal.vue
<script>
const calNum=0
export default {
calNum }
</script>
test.vue
<template>
<div style="margin-top: 100px"> <button @click="clickBtn">test</button> </div> </template>
<script>
import {a} from './data' import cal from './Cal'
export default {
name: 'test', methods:{ clickBtn(){ cal.calNum++ console.log(cal.calNum) console.log(a.name) } } } </script>
<style scoped>
</style>
我在cal里面存了一个值,并在data中引用了这个值,在test界面中设置了一个按钮,每点击一下cal中的值+1.
现在测试发现为什么每次点击的时候,输出的cal中的值每次可以加一,但是data中的值却始终都是初始值?
你那是赋值,name在初始化的时候就赋值为0了,后面访问的是name=0,name=cal.calNum代表的是name等于calNum的值0, name不等于calNum,只有name等于一个对象的时候,才会关联上,一个普通值是不会有关联的