헤더메뉴 v-for
- v-for 디렉티브로 메뉴 반복 출력하기
- 메뉴데이터에 icon이 있는 경우에만 v-if를 통해 icon 출력하기
- v-bind:style를 통해 백그라운드 이미지 바인딩 하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50<template>
<div class="sub--menu--group">
<div class="inner">
<div class="sub__nav">
<div class="sub__nav__mail"></div>
<div v-for="menu in menuItems" :key="menu" class="sub__nav__items">
<div :style="{backgroundImage:`url(${menu.icon})`}" class="sub__nav__icon" v-if="menu.icon"></div>
{{menu.text}}
</div>
<div class="sub__nav__subItems" v-for="subMenu in subItems" :key="subMenu">
{{subMenu}}
</div>
<div class="more">
<span class="more_plus">더보기</span>
<span class="material-icons">expand_more</span>
</div>
<Weather></Weather>
</div>
</div>
</div>
</template>
<script>
import Weather from './Weather.vue'
export default {
components:{
Weather
},
data(){
return {
menuItems:[
{title:'mail',text:'메일'},
{title:'cafe',text:'카페'},
{title:'blog',text:'블로그'},
{title:'qna',text:'지식IN'},
{title:'shopping',text:'쇼핑'},
{title:'shop-live',text:'',icon:'https://s.pstatic.net/static/www/img/uit/sp_main_dba1af.png'},
{title:'pay',text:'Pay'},
{title:'tv',text:'TV',icon:'https://s.pstatic.net/static/www/img/uit/sp_main_dba1af.png'}
],
subItems :[
'사전','뉴스','증권','부동산','지도','VIBE','책','웹툰'
]
}
}
}
> </script>
weather API 받아서 출력해보기
1 | 요청 주소 |
&units={[standard] or [metric] or [imperial]}
그냥 요청 했을 경우 섭씨 온도가 아니기에 &units=metric 추가
1 | <template> |
컴포넌트가 마운트 됐을때 바로 데이터를 받아 올수 있게
mounted(){}에서 함수 실행 해주었다
콘솔로 res를 찍었을때
1 | {coord: {lon: 126.9778, lat: 37.5683},…} |
가 출력 된다
페이지에 출력하니 좀 허접함
기상청 API
공공데이터 포털에서 기상청 API로 만들어보려 했으나
오류코드만 출력됨
검색해보니 CORS정책을 위반했기 때문에 발생한다는 것
검색으로 proxy도 바꿔보고 해봤지만 다 실패
요청주소 앞에
https://cors-anywhere.herokuapp.com/ 를 붙여준다
그러나 잘 작동하다가 403 에러가 뜬다.
cors-anywhere이 남용되고 있어서 직접 https://cors-anywhere.herokuapp.com/ 에 들어가서
방문자가 사용하겠다고 데모 버튼을 눌러서 잠금을 해제해야만 사용할 수 있다고 한다.
1 | const res = await axios.get(`https://cors-anywhere.herokuapp.com/http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getUltraSrtNcst?serviceKey=${API_KEY}?dataType=JSON`) |
새로운 오류
1 | "<OpenAPI_ServiceResponse> |
서버에 접속은 되나 data부분에 에러가 뜬다..
공공데이터 포털에서 api key 인코딩 디코딩 부분 바꿔서 작성 해봐도
똑같은 오류가 떴는데
쿼리를 다 지우고 하나씩 작성하다 보니 잘 된다…
api key는 인코딩키로 작성함
다음에 할것
- 기상청 API 파라미터 알아보고 출력하기