title: How can I pass object to Vue Component?
body: <p>I wanna call Vue Component with data object.</p>
  
  <p>todo-item tag works.
  todo-item2 tag makes nothing.
  I expect same result.</p>
  
  <p>HTML:</p>
  
  <pre><code>&lt;div id="app"&gt;
    &lt;todo-item
    v-bind:text="todo.text"
    v-bind:is-complete="todo.isComplete"&gt;&lt;/todo-item&gt;
    &lt;todo-item2 v-bind:="todo"&gt;&lt;/todo-item2&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>Script:</p>
  
  <pre><code>var Todo = {
    props: ['text', 'isComplete'],
    template: '&lt;p&gt;{{ text }} : {{ isComplete }}&lt;/p&gt;'
  }
  
  var Todo2 = {
    props: ['todo'],
    template: '&lt;p&gt;{{ todo.text }} : {{ todo.isComplete }}&lt;/p&gt;'
  }
  
  new Vue({
    el: '#app',
    data: {
      todo: {
          text: 'Learn Vue',
          isComplete: false
          },
    },
    components: {
      todoItem: Todo,
      todoItem2: Todo2,
    }
  })
  </code></pre>
  
  <p>I think it doesn't recognize 'text' in todo-item2.</p>
  
  <p>Console:</p>
  
  <pre><code>TypeError: Cannot read property 'text' of undefined
      at Proxy.eval (eval at createFunction (VM218 vue.js:10518), &lt;anonymous&gt;:2:43)
      at VueComponent.Vue._render (VM218 vue.js:4465)
      at VueComponent.updateComponent (VM218 vue.js:2765)
      at Watcher.get (VM218 vue.js:3113)
      at new Watcher (VM218 vue.js:3102)
      at mountComponent (VM218 vue.js:2772)
      at VueComponent.Vue$3.$mount (VM218 vue.js:8416)
      at VueComponent.Vue$3.$mount (VM218 vue.js:10777)
      at init (VM218 vue.js:4059)
      at createComponent (VM218 vue.js:5499)
  </code></pre>