Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
472 views
in Technique[技术] by (71.8m points)

js有变量提升,怎样才能使用当前定义的变量?

在普通的H5里面写以下js代码是可以获取到commonStatus状态的,但是我在Vue里面,单独写了一个公共方法js文件,在这个公共文件也是写的以下代码,获取到的commonStatus是undefined。

虽然可以用window全局变量设置,除了这种方法有没有其他方法可以获取到了?

望各位大神指教。

var commonStatus = false;
var commonObj ={
    curobj1:function(){
        console.log(commonStatus);
    }
}

还有我直接设置对象值比如commonObj.curobj2 = true;
在commonObj的某个方法里面调用commonObj.curobj2获取到的也是undefined。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

在vue里,你要import引入你这个公共文件,而且还需要在这个公共文件中export暴露出一些变量。
比如

// common.js
var commonStatus = false;
export var commonObj ={
    curobj1:function(){
        console.log(commonStatus);
    }
}
// xxx.vue
import {commonObj} from './common.js';
commonObj.curobj1(); // false 这里会正常输出false

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...