문자열 배열 형태로만 작성
props: ['status']
props: {
status: {
// 데이터 타입 확인
type: String,
// 필요한 prop인지
required: true,
// 기본 값 설정
default: "good",
// 유효한 value인지 확인
validator: (status) => ['sad', 'happy','bored', 'good'].indexOf(status) !== -1,
}
}
모든 key,value에 맞는 prop의 유효성을 검사하고,
유효하지 않으면 개발자 도구 console로 warning이 출력된다.
person : {
name: "Mike",
age: 25
}
person : {
name: "Mike",
age: 25,
}
<template>
...
<div>{{변수}}</div>
...
<tamplate>
<template>
...
<div>{{ 변수 }}</div>
...
<tamplate>
prop으로 class명을 넣어서 스타일을 조정하는 경우,
클래스명을 단순하게 명명한다면 부모 페이지의 CSS와 충돌할 수 있으므로,
적절한 class명이 필요함.
<button class = "custom-button active">...</button>
<button class = "custom-button custom-button--active">...</button>
let number = 999999;
number = number.toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ',');
console.log(number);
//999,999
let number = 999999;
number = number.toLocateScaleString();
console.log(number);
//999,999
<button> ... </button>
<button type="button"> ... </button>
native button 사용시 반드시 type="button" 속성을 기재해야 한다.
만약 기재하지 않으면, 브라우저가 type 속성 없는 버튼은 기본적으로 submit 버튼으로 판단하기 때문에 form 태그 안에 Button이 존재할 경우 의도치않게 submit이 되어버린다.