props in vue code example

Example 1: vuejs props

// Component file
<script>
  export default {
    props: {
      name: {
        type: String,
        required: true
      }
    }
  };
</script>

// File you call your component
<template>
  <your-component name="name"></your-component>
</template>

Example 2: vue js default prop

props: {
  name: {
    type: String,
    default: 'John Doe'
  }
}

Example 3: props vue js

Vue.component('my-component', {
  props: {
    // Basic type check (`null` and `undefined` values will pass any type validation)
    propA: Number,
    // Multiple possible types
    propB: [String, Number],
    // Required string
    propC: {
      type: String,
      required: true
    },
    // Number with a default value
    propD: {
      type: Number,
      default: 100
    },
    // Object with a default value
    propE: {
      type: Object,
      // Object or array defaults must be returned from
      // a factory function
      default: function () {
        return { message: 'hello' }
      }
    },
    // Custom validator function
    propF: {
      validator: function (value) {
        // The value must match one of these strings
        return ['success', 'warning', 'danger'].indexOf(value) !== -1
      }
    }
  }
})

Example 4: vue prop string or number

props: {
        users_count: {
            type: [Number, String],
            required: true
        }
    },

Example 5: vue js props

Vue.component('blog-post', {
  // camelCase in JavaScript
  props: ['postTitle'],
  template: '<h3>{{ postTitle }}</h3>'
})

<!-- kebab-case in HTML -->
<blog-post post-title="hello!"></blog-post>

Example 6: vuejs props

export default {
  name: 'Camera',
  props: ['name', 'img'],
}