setting a router param { path: '/event/:id', name: 'eventSingle', component: () => import ('../views/EventSingle.vue') } reading a router param created() { const ID = Number(this.$route.params.id); const event = this.events.find(event => event.id === ID); this.event = event; } create something from this router param (Using it) see above find in a dict and the syntax of => === Use find as a method on an array. find(something => something.id === ID) use arrow notation here in order to use the param you define to be used. the bit before the arrow notation is a param you want to find (name is arbitrary it will resolve to an object) the bit after the arrow allows you to use the name you want to be iterated/used. this must resolve to a boolean (i.e === as a coniditional) think of the arrow notation as a "where" clause (find something where something===True/False) setting a param based off this in a hook you can set the value of your find and bind it to something this.event = event; make sure to create it in data too using class bindings (setting a class of an element dynamically) link to https://vuejs.org/v2/guide/class-and-style.html v-binds (v-bind: and just :) using v-for, what it does (renders the thing being v-for'd for each thing in it) how to set an html attribute from this (using v-bind:attribute e.g v-bind:src)