Javascript 如何使导出的变量在Vue组件中具有反应性?

Javascript 如何使导出的变量在Vue组件中具有反应性?,javascript,vue.js,Javascript,Vue.js,我有一个js文件,它导出一个变量并每秒增加一次 let total = 0 setInterval(function() { total++ }, 1000) export { total } 以及打印所述变量的Vue组件 <template> <div id="app"> {{ total }} </div> </template> <script> import { total, } from

我有一个js文件,它导出一个变量并每秒增加一次

let total = 0
setInterval(function() {
  total++
}, 1000)
export { total }
以及打印所述变量的Vue组件

<template>
  <div id="app">
    {{ total }}
  </div>
</template>

<script>
  import {
    total,
  } from "./worker";
</script>

{{total}}
进口{
全部的
}来自“/工人”;

如何使
total
reactive?

对于值类型,这是不可能的,因为值类型是按值传递的(值只是复制的)。您需要的是传递对对象的引用

counter.js

let计数器={
总数:0
};
setInterval(函数(){
counter.total++;
}, 1000);
导出默认计数器;

{{counter.total}
从“@/计数器”导入cnt;
导出默认值{
名称:“HelloWorld”,
数据(){
返回{
柜台:cnt
};
}
};

对于值类型,这是不可能的,因为值类型是按值传递的(值只是复制的)。您需要的是传递对对象的引用

counter.js

let计数器={
总数:0
};
setInterval(函数(){
counter.total++;
}, 1000);
导出默认计数器;

{{counter.total}
从“@/计数器”导入cnt;
导出默认值{
名称:“HelloWorld”,
数据(){
返回{
柜台:cnt
};
}
};