采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这里的代码提示感觉有问题,代码是跟老师差不多的,这个url还是fitUrl都会提示 string | AvatarType问题 而且我已经使用断言了,表明image不是string,为什么还是会提示出错呐? 然后这边也是指向AvatarType类型了 然后我的store也有相关的处理了: 困惑了很久,希望老师能帮我解答!
同学你好~ 非常认真的问题 注意你断言使用的方式 只是把 item.image 断然为合适的类型传入到了 一个函数中,但是最终其实并没有改变 item.image 的类型,也就是说在外面 你的 item.image 还是 string | AvatarType 类型的
在这里你可以多加一个表达式来缩小类型返回,把 string 排除出去,这就是 type guard 的作用
<div v-
if
=
"post.image && typeof post.image !== 'string'"
>
这样就没错了,现在 item.image 应该是 AvatarType 类型啦。
我发现我的源代码也有错误,谢谢你找到这个问题,我会在后面修复
谢谢老师讲解,我想过要用类型保护typeof来限制单位,但是只写在script中,没有写在模板里。?
登录后可查看更多问答,登录/注册
带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能
1.5k 2
1.2k 2
857 17
1.3k 17
1.9k 15