在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue 數(shù)據(jù)更新的一個(gè)問(wèn)題

vue 數(shù)據(jù)更新的一個(gè)問(wèn)題

初學(xué)VUE,發(fā)現(xiàn)要個(gè)問(wèn)題,讓我無(wú)法理解
html:

<div id="watch-example">
    <p>
      請(qǐng)輸入要查詢的省份:
      <input v-model="question" type="text"/>
    </p>
    <p>{{answer}}</p>
</div>
<script src="js/jquery-1.12.4.min.js"></script>
<script src="js/vue.min.js"></script>

因?yàn)閯e的我用的不孰,所以我直接引了個(gè)JQ進(jìn)行AJAX通信
js:

     var watchExampleVM=new Vue({
      el:"#watch-example",
      data:{
        question:'',
        answer:'省份ID查詢'
      },
      watch:{
        //如果 question  發(fā)生改變,這個(gè)函數(shù)會(huì)執(zhí)行
        question:function(newQuestion){
          this.answer='正在查詢..';
          this.getAnswer();
        }
      },
      methods:{

        getAnswer:function(){

          var tAnswer=this.answer;
          console.log(tAnswer);  //  在這里我拿了一下數(shù)據(jù),數(shù)據(jù)是正常的
          var pName=this.question;
          if(this.question!=""){
            $.ajax({
              type:'post',
              url:'http://192.168.1.1:8383/_API/_province/get',
              data:null,
              success:function(data){
                if(data.code=='E0000'){
                  for(var i=0;i<data.data.length;i++){
                    var one=data.data[i];
                    if( one.name == pName ){
                      console.log(pName,tAnswer,tAnswer===watchExampleVM.answer);  //在這里我console一下明明是true,可以為什么數(shù)據(jù)不更新哪?
                      tAnswer="省份ID:"+one.id;
                      return;
                    }
                  }
                  tAnswer="未找到省份ID";

                }else{
                  watchExampleVM.answer=data.message;  //直接寫(xiě)上數(shù)據(jù)是可以更新的
                }
              }
            });
          }
        }


      }
    });

為什么明明是全等的引用傳遞,在jq的AJAX里是更新不了的,可是直接寫(xiě)確是可以更新?

這是我的響應(yīng)數(shù)據(jù):

{"code":"E0000","data":[{"id":"1","name":"北京市","icon":"beijing","fid":"0","definition":"1","level":"1"},{"id":"22","name":"天津市","icon":"T","fid":"0","definition":"1","level":"1"},{"id":"43","name":"河北省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"227","name":"山西省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"472","name":"遼寧省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"587","name":"吉林省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"657","name":"黑龍江省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"801","name":"上海市","icon":"S","fid":"0","definition":"1","level":"1"},{"id":"823","name":"江蘇省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"943","name":"浙江省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"1045","name":"安徽省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"1168","name":"福建省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"1263","name":"江西省","icon":null,"fid":"0","definition":"1","level":"6"},{"id":"1374","name":"山東省","icon":null,"fid":"0","definition":"1","level":"6"}]}
回答
編輯回答
情已空

是我自己的引用寫(xiě)錯(cuò)了,謝謝 @ wwh_ 的提醒。

2018年7月3日 10:25
編輯回答
鹿惑
getAnswer: function() {
    if(this.question != "") {
        $.ajax({
            type: 'post',
            url: 'http://192.168.1.1:8383/_API/_province/get',
            data: null,
            success: function(data) {
                if(data.code == 'E0000') {
                    for(var i = 0; i < data.data.length; i++) {
                        var one = data.data[i];
                        if(one.name == this.question) {
                            this.answer = "省份ID:" + one.id;
                            return;
                        }
                    }
                    this.answer = "未找到省份ID";

                } else {
                    watchExampleVM.answer = data.message;  //直接寫(xiě)上數(shù)據(jù)是可以更新的
                }
            }.bind(this)
        });
    }
}

這樣改就可以了,傳遞一下this作用域,就不需要重新聲明變量去指向引用

學(xué)vue還是用npm+webpack之類的打包編譯方式吧,現(xiàn)在已經(jīng)是2018年,頁(yè)面引用已經(jīng)很過(guò)時(shí)了,而且es6語(yǔ)法和眾多babel插件能幫你節(jié)省很多時(shí)間

2018年3月11日 21:37