<script type="text/javascript">
var zp11=document.getElementById("zp111")



function myFunction() {

new Vue({
el: '#img',
data: {
sites: []
},
created: function() {  //为了在内部函数能使用外部函数的this对象,要给它赋值了一个名叫self的变量。

var self = this;
var bbbb = sessionStorage.getItem('name') //传本地数据
$.ajax({
url: "https://www.tianqiapi.com/api/",
type: 'get',
data: bbbb,
dataType: 'json'
}).then(function(res) {

console.log(res);
var a21 = (res.data[0].wea);
self.sites = res;


if(a21)
{
switch(a21) 
{
case "晴":console.log(zp11);zp11.src="img/ig/bg03d.png";break;

}
}


}).fail(function() {
console.log('失败');
})
},
}) }


myFunction();
</script>

解决方案 »

  1.   

    6
    a21改为全局变量就可以在外面也能获取到了。
    但是要注意ajax的then(function(res) 是异步执行的,你要先去了解下异步代码执行的顺序。
    只有then(function(res) 执行之后,外面才能获取到。一般来说所有用到a21的函数都必须要在then(function(res)中调用。也就是要在then(function(res)执行之后再执行。
      

  2.   

    window.a21设置为全局对象