子组件传参

// v-bind=”params”
// :content=”params.content” :a=”params.a” :b=”params.b” :c=”params.c”

  1. const app = Vue.createApp({
  2. data() {
  3. return {
  4. params: {
  5. content: 1234,
  6. a: 123,
  7. b: 123,
  8. c: 123
  9. }
  10. }
  11. },
  12. template: `
  13. <div><test v-bind="params" /></div>
  14. `
  15. });
  16. app.component('test', {
  17. props: ['content', 'a', 'b', 'c'],
  18. template: `<div>{{content}}-{{a}}-{{b}}-{{c}}</div>`
  19. })
  20. const vm = app.mount('#root');

大小写传参

// 属性传的时候,使用 content-abc 这种命名,接的时候,使用 contentAbc 命名

  1. const app = Vue.createApp({
  2. data() {
  3. return {
  4. content: 1234,
  5. }
  6. },
  7. template: `
  8. <div><test :content-abc="content" /></div>
  9. `
  10. });
  11. app.component('test', {
  12. props: ['contentAbc'],
  13. template: `<div>{{contentAbc}}</div>`
  14. })
  15. const vm = app.mount('#root');

单向数据流

父组件的数据可以流向子组件,但是子组件不能修改父组件的数据

  1. const app = Vue.createApp({
  2. data() {
  3. return {
  4. num:1
  5. }
  6. },
  7. template: `
  8. <div><counter :count="num" /></div>
  9. `
  10. });
  11. app.component('counter', {
  12. props: ['count'],
  13. data(){
  14. return{
  15. myCount:this.count,
  16. }
  17. },
  18. template: `<div @click="myCount+=1">{{myCount}}</div>`
  19. })
  20. const vm = app.mount('#root');