Vue
[Vue 3] Vue 배열 내림차순 정렬
힛해
2023. 11. 9. 21:27
728x90
App.vue
const quizList = ref([
{pk: 1, question:'Python 웹 프레임워크 중 하나로 마이크로 웹 프레임 워크로 빠른 개발을 지원하는 것은?', answer :'flask'},
{pk: 2, question:'HTML에서 텍스트 입력란을 만드는 데 사용되는 요소는?', answer :'input'},
{pk: 3, question:'웹 애플리케이션에서 클라이언트의 데이터를 서버로 전송할 "때 주로 사용되는 HTTP 메서드는?"', answer :'post'},
{pk: 4, question:'Python 의 가상 환경을 만들어 프로젝트 별로 라이브러리 의존성을 격리시키는 명령어는?', answer :'virtualenv'},
{pk: 5, question:'웹 애플리케이션을 개발할 때, 사용자의 브라우저에 보여지는 부분을 렌더링 하는 언어는 무엇인가요?', answer :'html'},
])
const createQuiz = function(arr){
const tmp = {pk: quizList.value.length+1, question: arr.question, answer: arr.answer}
quizList.value.push(tmp)
}
const sortedQuizList = computed(()=>{
return quizList.value.sort((a,b) => b.pk - a.pk)
})
computed(() ->{
return 배열.value.sort((a,b) ->b.pk - a.pk )
})
실시간으로 배열의 값을 감시해야하기 때문애 computed ㅂ
Create.vue
<template>
<div class="quiz-create-container">
<div class="quiz-create-title">
퀴즈 생성
</div>
<div class="quiz-create-content">
<div><label>문제</label></div>
<input type="text" id="question" v-model="question">
<div><label>답안</label></div>
<input type="text" id="answer" v-model="answer">
</div>
<button class="quiz-create-btn" @click="createQuiz">퀴즈 생성</button>
</div>
</template>
<script setup>
import {ref} from 'vue'
const question = ref('')
const answer = ref('')
const emit = defineEmits(['createQuiz'])
const createQuiz = (()=>{
emit('createQuiz', {question: question.value, answer: answer.value})
})
</script>