Vue-Router 中 this 指向了window 的问题
发布于 3 年前 作者 huaer 1414 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

非Nodejs环境,没有用打包,view没有用嵌套
用 filters 和 beforeRouteUpdate 的时候,经常发生 this 指向window对象而不是 vue 对象 ,有时候 beforeRouteUpdate 还回连续触发2次,有谁知道可能的问题原因或者解决办法吗?

{
		name: 'GameInfo',
		path: '/Game/:gameId',
		component: GameInfo ,
		meta: {
			root:'Event',
			name: 'game',
			Title: '比赛信息',
			path:[ '比赛管理','比赛列表','比赛信息']
			
		}
		
	} ....

game.js
    const GameInfo = {
        template : `....{{ game.TeamA | Team(game) }}`,
        data(){
            return {
                    game:{
                        teams:{ ... }
                    }.....
            }
        },
        filters : {
            Team: function(game,TeamId){
                let that = this;
                console.log(this) // 这里的 this 一直是 window 对象,不然就不用穿game参数了
                return game.teams[ TeamId ].Name
            }
        }
    }
回到顶部