可以把一个函数传给子组件让它执行

    1. const app = Vue.createApp({
    2. data() {
    3. return {
    4. num: () => { alert(2) }
    5. }
    6. },
    7. template: `
    8. <div><test :content="num"/></div>
    9. `
    10. });
    11. // type:String, Boolean, Array, Object, Function, Symbol
    12. app.component('test', {
    13. props: {
    14. content: Function,
    15. },
    16. methods:{
    17. handleClick(){
    18. alert(123);
    19. this.content();
    20. }
    21. },
    22. template: `<div @click="this.handleClick">{{typeof content}}</div>`
    23. })
    24. const vm = app.mount('#root');

    父子组件之间传参,校验

    1. const app = Vue.createApp({
    2. data() {
    3. return { num: 1234 }
    4. },
    5. template: `
    6. <div><test :content="num" /></div>
    7. `
    8. });
    9. // type:String, Boolean, Array, Object, Function, Symbol
    10. // required 必填
    11. // default 默认值 不传值时为默认值
    12. app.component('test', {
    13. props: {
    14. content: {
    15. type: Number,
    16. validator: function(value) {
    17. return value < 1000;
    18. },
    19. default: function() {
    20. return 456;
    21. }
    22. }
    23. },
    24. template: `<div>{{content}}</div>`
    25. });
    26. const vm = app.mount('#root');