Vue页面获取安卓传参的方法

最近和安卓原生混合开发遇到了一个问题:安卓通过和我们声明同一种方法可以把值传递给我们;但是我们只能在window下面声明一个函数来接收,很显然,我们new的vue对象和window下面的该函数属于同级作用域,该函数内无法直接操作vue data中的值:如

function getAndroid(a){
     alert(a);//安卓传值过来
     vm.msg = a;
}

结果就是a可以打印出来,但是vm这个vue对象中的msg数据并没有变化!所以这种方式行不通;

接下来使用另一种方式,在该函数中调用vue对象的方法,通过这种方法传递改变vue data中的值,

methods: {	//在vue的methods中定义一个方法
     getRes(a){
        alert(a)
        this.msg = a //改变data中定义的值
     },
}

//在全局中定义该函数
window['getAndroid'] = function(a){
	vm.getRes(a)
}

 结果是成功的,顺利的在vue中拿到了安卓传递过来的参数!

猜你喜欢

转载自blog.csdn.net/Arbort_/article/details/82183013