Error: Not Found:Page[2][-1,2,14] at view.umd.min.js:1
请问真机调试的时候,发出这个错误,是什么问题?怎么解决?
- 发布:2020-11-03 16:53
- 更新:2022-06-15 22:42
- 阅读:11844
9***@qq.com - 漫画
这个问题是页面路由跳转的时候,数据正在加载 但是没有完成方法里面的代码造成的。 目测是这样 其实这个问题不会造成很大的出错,如果使用的是图片懒加在的话 导致图片不显示的问题
经过测试,发现了问题
举例重现下这个报错 使用uview的u-button的 ripple属性, 设为true, 这是个波纹动画的点击效果,接着让点击这个u-button直接navTo另一个页面, 波纹动画还要执行 但页面主体没了, 故报错;
如果设置成延迟再navTo 就不报错了
-
在u-button组件修改click方法和getWaveQuery:
// 按钮点击
click(e) {
// 进行节流控制,每this.throttle毫秒内,只在开始处执行
this.$u.throttle(() => {
// 如果按钮时disabled和loading状态,不触发水波纹效果
if (this.loading === true || this.disabled === true) return;
// 是否开启水波纹效果
if (this.ripple) {
// 每次点击时,移除上一次的类,再次添加,才能触发动画效果
this.waveActive = false;
this.$nextTick(function() {
this.getWaveQuery(e);
});
}
else
{
this.$emit('click', e);
}
}, this.throttleTime);
},
// 查询按钮的节点信息
getWaveQuery(e) {
this.getElQuery().then(res => {
// 查询返回的是一个数组节点
let data = res[0];
// 查询不到节点信息,不操作
if (!data.width || !data.width) return;
// 水波纹的最终形态是一个正方形(通过border-radius让其变为一个圆形),这里要保证正方形的边长等于按钮的最长边
// 最终的方形(变换后的圆形)才能覆盖整个按钮
data.targetWidth = data.height > data.width ? data.height : data.width;
if (!data.targetWidth) return;
this.fields = data;
let touchesX = '',
touchesY = '';
// #ifdef MP-BAIDU
touchesX = e.changedTouches[0].clientX;
touchesY = e.changedTouches[0].clientY;
// #endif
// #ifdef MP-ALIPAY
touchesX = e.detail.clientX;
touchesY = e.detail.clientY;
// #endif
// #ifndef MP-BAIDU || MP-ALIPAY
touchesX = e.touches[0].clientX;
touchesY = e.touches[0].clientY;
// #endif
// 获取触摸点相对于按钮上边和左边的x和y坐标,原理是通过屏幕的触摸点(touchesY),减去按钮的上边界data.top
// 但是由于transform-origin
默认是center,所以这里再减去半径才是水波纹view应该的位置
// 总的来说,就是把水波纹的矩形(变换后的圆形)的中心点,移动到我们的触摸点位置
this.rippleTop = touchesY - data.top - data.targetWidth / 2;
this.rippleLeft = touchesX - data.left - data.targetWidth / 2;
this.$nextTick(() => {
this.waveActive = true;
this.$emit('click', e);
});
});
},2022-12-03 21:34
chihiro_yy
您好,我现在就是遇到这种问题,图片不显示,想问一下这种可以怎么样解决呢
2021-04-30 10:36