框架用的uni-app,语法是vue.js的写法。项目种两个相互跳转的页面用了公用的一个组件filter。filter组件都声明了一个 let _this = null;的变量。
1、第一个页面的fitler组件如图:
image.png
2、第二个页面的filter组件如下图:
image.png
组件代码在全局里面声明了let _this = null;created声明周期里面保存当前组件的this,这里就是当第二个页面再次加载filter组件时,全局变量_this 保存就是第二个组件的 this数据了,你按返回键回退到第一个页面是_this 保存的数据已经不是第一个页面的filter组件数据,而是第二页面的filter组件数据。这时你再操作第一个页面的filter组件的_this 就不在是你想要的了。这就是全局变量被污染了。
<script>
let _this = null;
export default {
data() {
return {
created() {
_this = this;
}
网友评论