javascript - Vue.js 使用外部对象计算函数
问题描述
是否可以将 Vue 的computed
属性与外部对象一起使用?
为了说明我的意思,这是我想象的代码示例:
<!-- Vue file -->
<template>
<div>{{data.auth}}</div>
</template>
<script>
import {_data} form "./data"
export default {
computed: {
data() { return _data }
}
}
</script>
<!-- data.js file -->
let _auth = "123";
export let _data = {
auth: _auth
}
setTimeOut(() => _auth = "456", 2000)
我对这段代码的期望是 HTML 文档在 2000 毫秒后从“123”变为“456”。
但据我所知,这是行不通的。
解决方案
使用 Vue 3,您可以导入ref
以跟踪更改:
import { ref } from 'vue'
const _auth = ref('123')
export const _data = {
auth: _auth
}
setTimeout(() => {
_auth.value = '456'
}, 2000)
工作片段:
const _auth = Vue.ref('123')
const _data = {
auth: _auth
}
setTimeout(() => {
_auth.value = '456'
}, 2000)
Vue.createApp({
data() {
return {
data: _data
}
}
}).mount('#app')
<script src="https://unpkg.com/vue@next"></script>
<div id="app">
<div>{{ data.auth }}</div>
</div>
推荐阅读
- angular - Angular中请求参数的条件拦截器操作
- c# - 对方法进行单元测试并获取未将对象引用设置为对象实例
- android - Android Signed Apk 在 5.0 以下版本中崩溃
- typescript - 如何使用 RequireJS loader 在 VS 2017 中创建 typescript 项目以使用 Redux
- wordpress-theming - Gutenberg 模板:核心块属性
- javascript - 使用流写入和读取文件
- shell - Copy command issue in Macbook Air
- python - Firefox with selenium and python proxy issues
- python - setup.py 打开 pycharm,无法更改文件类型
- python - 在 Python2.7 中忽略没有 continue 语句的 IndexError