typescript - Vue打字稿参考:无法在布尔值'false'上创建属性'value'
问题描述
我正在使用带有打字稿和无头 ui 的 vue。当我尝试按照以下示例显示对话框时:https://headlessui.dev/vue/dialog,我收到错误消息:Type 'true' is not assignable to type 'Ref'
我在组件类中声明了 isOpen 变量:
private readonly isOpen = ref<boolean>(false);
打开对话框的按钮的 html 是:
<button class="btn" @click="toggleGuestList(true)">View list</button>
切换对话框的方法是:
public toggleGuestList(toggle:boolean) {
this.isOpen.value = toggle;
}
当这个方法被激活时,我得到了错误:
无法在布尔值“false”上创建属性“值”
似乎 isOpen 被解析为一个普通的布尔值。我怎样才能强迫它把它看作一个参考?我试过 (this.isOpen as Ref< boolean >).value = true ,但没有解决问题。
解决方案
var obj = false;
obj.name = 'hello'; // TypeError: Cannot create property 'name' on boolean 'false'
var obj = {};
obj.name = 'hello'; // OK
推荐阅读
- c# - 如何修复 JPG 文件中的 EXIF 方向数据
- node.js - 我如何将 jsdoc 参数发送到 Web 请求?
- flutter - Flutter:使用固定的 tabBar 折叠应用栏
- java - Eclipse Maven 依赖 - weaveDependency 问题
- janusgraph - 已超过最大帧长度 65536
- python - 如何在 jinja2 模板中运行 python 追加列表
- javascript - XAxis 标签与 XAxis Title 重叠
- java - 客户端 JAX-RS 异步请求
- apache-kafka - 当领导者不可用时无法产生消息
- vba - 如何重置自动编号字段的值