Advertisement

uni-app将一个页面视为子组件使用。这个页面既可以独立展示也可以作为组件使用

阅读量:

遇到的问题:具体而言,是在分享页面中使用了过多的页面,其中一些是之前已有的页面。如果全部重新开发不仅会耗费大量时间,而且小程序安装包的内存限制通常为2M。重新编写无疑会造成内存浪费,因此尽可能复用已有页面更为合理。

当作为独立页面时,应在onLoad方法中获取传入的参数。

然而,当作为组件使用时,在onLoad中无法获取到参数,因为此时并非通过页面跳转的方式进行加载。例如:

uni.navigateTo({
url: 'test?id=1&name=uniapp'
});

onLoad(options) {
console.log(options)

}

上述方式在组件中并不适用。如果该组件仍能作为页面使用,则也无法通过子组件props的方式传递参数。

在分享页中,可以通过切换tab的方式实现页面跳转,并传递不同的参数至当前页面:

share.vue