搜尋

首頁  >  問答  >  主體

javascript - vue中data的值改變不了

我在created中alert的name值和long值都是正確的,為什麼在chose中name的值就是undefined,而且在created中改變了的long和short值為true,在頁面中還是false

            <li v-bind:class={active:long}  @click='chose'>
                <router-link to='/long'>第一页{{long}}</router-link>
            </li>
            <li v-bind:class={active:short}>
                <router-link to='/short'>第二页{{short}}</router-link>

            </li>
            

不管傳過來的name是什麼值,頁面中的long和short都是false

 import Vue from 'vue';
    export default  {
      props: ['name'],
      data() {
            return {             
                long:false,
                short:false,

            }
        },
        methods:{

            chose(){
                console.log(this.name);//这里输出undefined
                console.log(this.short);
            }

        },
        created(){
           var name=this.name;
           console.log(name);//这里值是正确的
           switch (name){
              case "long":
                   this.long=true;
                   alert(that.long+"long");//当name值为long时弹出true
                   break;
               case "short":
                   alert(name);
                   this.short=true;
                   break;
              
           }
        },


    }
typechotypecho2749 天前822

全部回覆(1)我來回復

  • 学习ing

    学习ing2017-06-14 10:55:13

    你這程式碼看著邏輯很混亂,點擊事件裡面有頁面跳轉。 that還沒看見你定義,this.shop也沒見到,一步步認真檢查下。

    回覆
    0
  • 取消回覆