title: What's the correct way to pass props as initial data in Vue.js 2?
body: <p>So I want to pass props to an Vue component, but I expect these props to change in future from inside that component e.g. when I update that Vue component from inside using AJAX. So they are only for initialization of component.</p>
  
  <p>My <code>cars-list</code> Vue component element where I pass props with initial properties to <code>single-car</code>:</p>
  
  <pre><code>// cars-list.vue
  
  &lt;script&gt;
      export default {
          data: function() {
              return {
                  cars: [
                      {
                          color: 'red',
                          maxSpeed: 200,
                      },
                      {
                          color: 'blue',
                          maxSpeed: 195,
                      },
                  ]
              }
          },
      }
  &lt;/script&gt;
  
  &lt;template&gt;
      &lt;div&gt;
          &lt;template v-for="car in cars"&gt;
              &lt;single-car :initial-properties="car"&gt;&lt;/single-car&gt;
          &lt;/template&gt;
      &lt;/div&gt;
  &lt;/template&gt;
  </code></pre>
  
  <p>The way I do it right now it that inside my <code>single-car</code> component I'm assigning  <code>this.initialProperties</code> to my <code>this.data.properties</code> on <code>created()</code> initialization hook. And it works and is reactive.</p>
  
  <pre><code>// single-car.vue
  
  &lt;script&gt;
      export default {
          data: function() {
              return {
                  properties: {},
              }
          },
          created: function(){
              this.data.properties = this.initialProperties;
          },
      }
  &lt;/script&gt;
  
  &lt;template&gt;
      &lt;div&gt;Car is in {{properties.color}} and has a max speed of {{properties.maxSpeed}}&lt;/div&gt;
  &lt;/template&gt;
  </code></pre>
  
  <p>But my problem with that is that I don't know if that's a correct way to do it? Won't it cause me some troubles along the road? Or is there a better way to do it?</p>