I am creating a game in VueJS, where, when the page loads, I want a method to fire, make an ajax call to an external API and create a bunch of data properties. When the player wins the round, I want to them to be able to see a button that allows them to restart the game. I am using a mounted()
hook to fire the method on page load.
My question is I am not sure how to implement the restart functionality if the game setup and API call are within the mounted()
function. Is there a way to run the mounted()
function again?
You can also move
mounted
out of the Vue instance and make it a function in the top-level scope. This is also a useful trick for server side rendering in Vue.Abstract your initialization into a method, and call the method from
mounted
and wherever else you want.Then possibly have a button in your template to start over.
In this button,
playerWon
represents a boolean value in your data that you would set when the player wins the game so the button appears. You would set it back to false ininit
.