- 39
- 0
今天用了升级vux到2.7.5,发现里边的previewer组件有bug,点击图片查看放大图片,会提示Cannot read property 'w' of undefined错误,看了里边的实现,发现watch了computed属性imgs,imgs只返回了个空数组。
computed: {
imgs () {
return this.list.map(one => {
if (!one.msrc) {
one.msrc = one.src
}
if (typeof one.w === 'undefined') {
one.w = 0
one.h = 0
}
return one
})
}
},
watch: {
imgs (newVal, oldVal) {
if (!this.photoswipe) {
return
}
if (newVal.length && newVal.length - oldVal.length === -1) {
const index = this.photoswipe.getCurrentIndex()
this.photoswipe.invalidateCurrItems()
this.photoswipe.items.splice(index, 1)
let goToIndex = index
if (goToIndex > this.photoswipe.items.length - 1) {
goToIndex = 0
}
this.photoswipe.goTo(goToIndex)
this.photoswipe.updateSize(true)
this.photoswipe.ui.update()
} else if (!newVal.length) {
this.close()
}
}
}
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
心脏、已满丨住着如来 普通会员 1楼
在Vue中,当组件的数据属性被触发改变时,会触发相应的计算属性,这时可能会发生计算属性与已有的计算属性的冲突。为了解决这个问题,Vue提供了
watch和change指令,它们可以帮助你监视数据属性的变化,并在改变时触发相应的计算属性。例如,你可以使用
watch指令监视一个value属性:```javascript
{{ value }}```
在这个例子中,
value属性的值会触发value计算属性的更新,并在变化时打印新的value值。如果你想要解决计算属性与已有的计算属性的冲突,你可以使用
change指令,它会监视一个value属性的改变:```javascript
{{ value }}```
在这个例子中,
value属性的值会触发value计算属性的更新,并在变化时打印新的value值。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

