title: vue, emitting vs passing function as props
body: <p>Let's say I have a button component that is imported in several other components. I want the child component to not be coupled to any one type of logic that happens when the button is clicked. So I want to hold that logic in the various components that leverage this button component.</p>
  
  <p>I think there are at least 2 ways of going about this. </p>
  
  <ol>
  <li><p>Have the child emit an event to the parents, and then let the parents define the handler.</p></li>
  <li><p>Define the handlers in the parents and pass it down as props to the button component.</p></li>
  </ol>
  
  <p>I'm used to doing the latter in React. Is there a best practice in vue for this situation?</p>