장바구니에 상품이 없습니다.
home2 › 게시판 › Vue 게시판 › url 안에 param 값을 넣고 싶은데 문자로 인식
h5 @click="$router.push('/detail/{{$route.params.id}}')">{{블로그글[0].title}}</h5>
여기서 {{$route.params.id}} 이 값을 받아와서 url 연결하고 싶은데 ''" 여기 안에선 그냥 문자로 인식되네요..
{{$route.params.id}} 이 값이 1 로 받아와서 /detail/1 이런식으로 받아오고 싶은데
문자로 인식되서 구글링해도 명확하게 모르겠어서 질문 남깁니다.
'/detail/' + $route.params.id 이럼될듯요
위에 처럼 하면 http://localhost:8080/detail/undefined 이렇게 언디파인드가 뜨네요
[List.vue]
<template> <div> <h5 @click="$router.push('/detail/'+ $route.params.id)">{{블로그글[0].title}}</h5> <p>{{블로그글[0].date}}</p> </div> <div> <h5>{{블로그글[1].title}}</h5> <p>{{블로그글[1].date}}</p> </div> <div> <h5>{{블로그글[2].title}}</h5> <p>{{블로그글[2].date}}</p> </div> </template>
route.params는 url 파라미터를 유저가 입력했을 경우 사용가능합니다
"$router.push('/detail/0')"
저기는 전체 글목록이라 이렇게 써야할듯요
var id = 블로그글[0].id //해도 되고
html에 글의 인덱스를 표시하는 부분이 있으면 그곳의 인덱스를 함수명에 전달해서
method:{
함수명(id){ this.$router.push({ name: "Detail", params: { id: id }, });
이렇게 하면 되지 않을까요?
강사님 틀린부분 있으면 알려주시면 감사하겠습니다.