Vue 퀴즈 기능 구현

3193 단어 Vue문 제 를 풀다
1.문제 풀이 요청 인터페이스
2.사용자 의 정 답 여 부 를 판단 하고,정 답 을 맞 추 면 다음 문제 로 넘 어가 고,틀 리 면 팝 업 창 에서 사용자 에 게 틀린 문제 가 있 음 을 알려 주 며,다시 문 제 를 풀 어 주 십시오.

<div class="active_title">
      <span>{{ orderTitle }}</span>
</div>
<p v-show="toanswer" ref="question">{{ title }}</p>
<div class="answer-btns" @click="answerClick($event)">
    <span class="answer-btn" :class="`${isRight && item.result == 1?'right':''}`" v-for="item in answer" :data-result='item.result'>{{ item.name }} <i class="iconfont icon-wrong">&#xe677;</i><i v-show="isRight && item.result == 1" class="iconfont icon-right">&#xe678;</i>
    </span>
</div>

getAllData() {
   this.$axios.get(    ).then((res)=>{
     if(parseInt(res.data.errCode)>=0){
       this.allData=res.data.data
       if(this.allData.question.length > 0) {
          this.toanswer = true
       }            
         this.title = this.allData.question[0].title//   
         this.answer = this.allData.question[0].answner//     
    }else{
       this.toast = this.$createToast({
          txt: res.data.message,
          type: 'txt'
        })
       this.toast.show()
    }
   }).catch((err)=>{
      console.log(err)
    })
},

answerClick(e) {
  const tar = e.target,
  className = e.target.className
  if(className == "answer-btn") {
    this.mask = true
    const result = tar.dataset.result
    if(result == 1){
      // console.log('  ',result);
      this.isRight = true
      $(tar).addClass('right')
    } else {
       // console.log('  ',result);
       this.isRight = true
       this.isWrong = true
       $(tar).addClass('wrong')
       setTimeout(() => {
       this.maskTips = true
     }, 1200);
   }
   setTimeout( () => {
    this.clickNum ++
    if(this.clickNum > 2) {
      this.clickNum = 2
         if(this.isWrong) {
           console.log('  ');
           this.mask = false
           this.maskTips = true
           return false
         } else {
           console.log('   ');
          }
         }
          $('.answer-btn').removeClass('wrong')
          this.orderTitle = this.orderTitles[this.clickNum]
          this.isRight = this.mask = false
          this.title = this.allData.question[this.clickNum].title
          this.answer = this.allData.question[this.clickNum].answner
        },1200)
     }
  },
이상 은 Vue 가 문제 풀이 기능 을 실현 하 는 상세 한 내용 입 니 다.Vue 문제 풀이 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!

좋은 웹페이지 즐겨찾기