.vue 확장자
를 가진 하나의 파일 안에서 작성되는 코드의 결과물$ npm install -g @vue/cli
$ vue create 앱이름
$ cd 앱이름
$ npm run server
부모는 props를 통해 자식에게 ‘데이터’를 전달하고
자식은 events를 통해 부모에게 ‘메세지’를 보낸다
<HelloWorld msg="전달하자"/>
이 값을 자식 컴포넌트에서<p>{{msg}}</p>
이렇게 사용이 가능한데 바로 사용하는게 아니라props :{msg: String}
type 형태로 불러와야 사용 가능하다.props: {camelCase}
로 받으면 된다.함수의 return 값으로 선언되어야 한다!!
data : function(){
return{ messageData :'this is message' }}
<About :message-data = “messageData”/>
<About just-data="그냥값주기" />
/About.vue
<input type="text"
@keyup.enter ='인풋바꾸기'
v-model = '인풋데이터'>
data : function(){ return { 인풋데이터:''}}
methods : { 인풋바꾸기 : fucntion(){
this.$emit('인풋-바꾸기', this.인풋데이터)}}
/App.vue
<About @인풋-바꾸기= '진짜바꾸기' />
<p>확인용 {{인풋데이터}}</p>
data : ... 인풋데이터 :''
methods : {
진짜바꾸기 : function(전달온값){
this.인풋데이터 : 전달온값}}
라우터 : 위치에 대한 최적 경로를 지정, 이경로로 데이터를 다음 장치로 전향하는 장치
vue add router
<router-link>
// App.vue
<router-lintk to=”/home”> Home </r>
<router-lintk to=”/about”> about </r>
a태그처럼 생겼지만 실제로 이동하진 않는다.
<router-link :to= "{name:'Home'}"> Home </router-link>
이미 path를 지정해놨기 때문에 이름으로 router-link 사용도 가능하다
// index.js
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: About
}
]
this.$router.push('/')
를 이용해서 함수안에서도 사용 가능
path : '/user/:userId',
{{ $route.params}}
를 이용하면
{userId : 5} 이런 결과를 가져올 수 있다.
<router-lintk :to ="{name:user,params:{userId:5} }”> user 5번 </r>