Example 1: vuejs props
<script>
export default {
props: {
name: {
type: String,
required: true
}
}
};
</script>
<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: {
propA: Number,
propB: [String, Number],
propC: {
type: String,
required: true
},
propD: {
type: Number,
default: 100
},
propE: {
type: Object,
default: function () {
return { message: 'hello' }
}
},
propF: {
validator: function (value) {
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 default props
props: {
year: {
default: 2016,
type: Number
}
}
Example 6: how to access both child event param and parent param in vue
<template>
<ul>
<product v-for="product in products"
:product="product"
@add="addToChart" />
</ul>
</template>
<script>
const Product = {
props: ["product"],
render(h) {
return h("li", { on: { click: this.click } }, this.product);
},
methods: {
click() {
this.$emit("add", { product: this.product, quantity: 42 });
}
}
};
export default {
data() {
return {
products: ["Foo", "Bar"]
};
},
components: {
Product
},
methods: {
addToChart({ product, quantity }) {
console.log(product, quantity);
}
}
}
</script>