用的是vue3 + typescript
export class SystemEngine {
...
static msgList = ref<String[]>([]);
...
}
为什么我在模板上使用的时候也要加value?
<div class="message-box margin-top-12">
<div v-for="(msg, index) in SystemEngine.msgList.value" :key="index">
{{ msg }}
</div>
</div>
注意,在模板中使用 ref 时,我们不需要附加 .value。为了方便起见,当在模板中使用时,ref 会自动解包 (有一些注意事项)。
如果不加.value,输出就像这样:
在模板渲染上下文中,只有顶级的 ref 属性才会被解包。
// 静态字段可以类比这种写法,不会被解包
const object = { id: ref(1) }
参考文档写法的话,那就是
const { msgList } = SystemEngine;
<div class="message-box margin-top-12">
<div v-for="(msg, index) in msgList" :key="index">
{{ msg }}
</div>
</div>