vue.js将一个对象的所有属性作为prop进行传递

1、方法一:使用不带参数的v-bind写法

<div id="app"> 
  <child v-bind="todo"></child>
</div>

  v-bind中没有参数,而组件中的props需要声明对象的每个属性

Vue.component('child', { 
  props: ['text','isComplete'],
  template: '<span >{{ text }}  {{isComplete}}</span>' 
})
new Vue({
  el: '#app',
  data: {
    todo: {
      text: 'Learn Vue',
      isComplete: false
    }
  }
})

  显示效果如下

  

2、方法二:使用带参数的v-bind写法

<div id="app"> 
  <child v-bind:todo="todo"></child>
</div>

  v-bind后跟随参数todo,组件中的props需要声明该参数,组件变可以通过todo来访问对象的属性

Vue.component('child', { 
  props: ['todo'],
  template: '<span >{{ todo.text }}  {{todo.isComplete}}</span>' 
})
new Vue({
  el: '#app',
  data: {
    todo: {
      text: 'Learn Vue',
      isComplete: false
    }
  }
})

  显示效果如下

  

 

posted @ 2018-04-20 20:29  慵懒的小猪  阅读(14970)  评论(0编辑  收藏  举报