请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于类型提示问题

图片描述
这里的代码提示感觉有问题,代码是跟老师差不多的,这个url还是fitUrl都会提示 string | AvatarType问题
图片描述
而且我已经使用断言了,表明image不是string,为什么还是会提示出错呐?
图片描述
然后这边也是指向AvatarType类型了
然后我的store也有相关的处理了:
图片描述
困惑了很久,希望老师能帮我解答!

正在回答 回答被采纳积分+3

插入代码

1回答

张轩 2020-10-29 10:50:55

同学你好~ 非常认真的问题 注意你断言使用的方式 只是把 item.image 断然为合适的类型传入到了 一个函数中,但是最终其实并没有改变 item.image 的类型,也就是说在外面 你的 item.image 还是 string | AvatarType 类型的

在这里你可以多加一个表达式来缩小类型返回,把 string 排除出去,这就是 type guard 的作用

1
<div v-if="post.image && typeof post.image !== 'string'">

这样就没错了,现在 item.image 应该是 AvatarType 类型啦。

我发现我的源代码也有错误,谢谢你找到这个问题,我会在后面修复

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕神3292065 #1
    谢谢老师讲解,我想过要用类型保护typeof来限制单位,但是只写在script中,没有写在模板里。?
    回复 有任何疑惑可以回复我~ 2020-10-29 10:55:23

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信