제목이 다소 정리되지 않은 느낌이지만,
오늘 배운 것들 중 이것만큼은 꼭 기억하자!요소들 입니닷⭐
반복문..반복문..! 와다다다닥!
Vue 내부 methods, filter, computed 등에 함수를 만드는 경우, 반복문을 사용하게 될 때가 종종 있다.
JavaScript에서 반복문은 for, for in, for of while으로 작성할 수 있다.
그 중 for in과 for out에 대해 알아보겠다!
제대로 알고 써서 반복문의 늪에 빠지지 않도록..⭐
for(let x in arr) 형태의 반복문을 쓰면 x는 인덱스 값arr 내부 인자에 접근하기 위해서는 arr[x] 나 arr[x].name 과 같은 형식의 코드 필요let model = {
people: [
{name: "유진초이", age: 50, gender: "male", birthdate: 1871},
{name: "고애신", age: 34, gender: "female", birthdate: 1887},
{name: "구동매", age: 35, gender: "male", birthdate: 1886},
{name: "김희성", age: 36, gender: "male", birthdate: 1875},
{name: "쿠도히나", age: 41, gender: "female", birthdate: 1880},
]
};
new Vue({
el: "#app",
data: model,
methods: {
myType: function () {
//step01 - for in 연산식 사용 문법 - [] 연산식 활용해서 실제 데이터 활용 제약
https://www.w3schools.com/js/js_loop_forin.asp
for (let p in this.people) {
if (this.people[p].name == "유진초이") {
return this.people[p].name;
}
}
}
});
for(let x of arr) 형태의 반복문을 쓰면 x는 반복되는 arr 내부 인자for(int x : arr)에서의 x와 유사arr 내부 인자에 접근하기 위해서 x 자체를 쓰거나 x.name 과 같은 형식 코드 사용let model = {
people: [
{name: "유진초이", age: 50, gender: "male", birthdate: 1871},
{name: "고애신", age: 34, gender: "female", birthdate: 1887},
{name: "구동매", age: 35, gender: "male", birthdate: 1886},
{name: "김희성", age: 36, gender: "male", birthdate: 1875},
{name: "쿠도히나", age: 41, gender: "female", birthdate: 1880},
]
};
new Vue({
el: "#app",
data: model,
methods: {
myType: function () {
//step02 - for of 연산식 사용 문법 - 해당 index의 실 js 객체 반환
https://www.w3schools.com/js/js_loop_forin.asp
for (let p of this.people) {
if (p.name == "유진초이") {
return p.name;
}
}
}
});
사실 필터의 용도가 무엇일까부터가 의문이었다...parameter를 받는 method나 computed랑 뭐가 다르지..? 하는 생각..

예시에 나와있듯이,

만약, 같은 동작을 하는 method를 만들었다면,
methodA(message)를 실행한 뒤, return 값을 받아서 methodB(return받은 값)을 실행해주어야 하지만message - filterA 내부 function(message) - filterB 내부 function(return받은 값)을 위와 같이 표현하여 실행할 수 있다!
이벤트가 짜잔..ㅎ
<button v-on:click="amount += 100">100 입금</button>와 같은 형태로도 사용할 수 있지만<button @click="amount -= 50">50 출금</button>와 같은 형태로도 사용할 수 있다.
바닐라JS로 했을 때도 어려웠던 Ajax 비동기..보다 편리하게라고는 하지만 또 어려운 axios library 등장..🥺
나도 다시 복습해야하는 비동기, Ajax 포스팅
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>get().then().catch() 혹은 post().then().catch() 형식으로 작성하여 활용할 수 있다.(체인 기법)get() : GET 방식 요청 의미then() : 정상 응답이 오면 자동 실행catch() : 정상 응답이 아닌 경우 자동 실행axios.get("response2.jsp", {
params: {
name : "encore",
msg : "안녕"
}
}).then(resData => {
console.log("4", resData.data);
}).catch(error => {
console.log("4", error);
});
axios({
method: "get", // GET 방식
url: "response2.jsp", // 데이터를 받아올 url
params: { // 보내는 데이터, jsp에서 ${param.name}로 접근 가능
name: "encore",
msg: "안녕"
}
}).then(resData => { // 정상적으로 통신이 되었다면
console.log("데이터를 잘 받았다면, ", resData.data);
}).catch(error => { // 정상적으로 통신이 되지 않았다면
console.log("에러가 났다면, ", error);
});
