當你在 Vue 中使用組件時,你可以使用 props 把數據從父組件傳遞到子組件。在子組件中,可以通過 this.props 訪問父組件傳遞的數據。下面是一個簡單的例子:
// 父組件 <template> <div> <MyComponent msg="Hello World"></MyComponent> </div> </template> <script> import MyComponent from './MyComponent.vue' export default { components: { MyComponent } } </script> // 子組件 <template> <div> <p>{{ props.msg }}</p> </div> </template> <script> export default { props: { msg: { type: String, required: true } } } </script>
在這個例子中,父組件傳遞了一個名為 msg 的 props 給子組件,子組件定義了接收 msg 的 props 類型為字符串,并且設置了必須要傳遞的 required 屬性。在子組件中,你可以通過 this.props.msg 訪問到此屬性的值。
props 在 Vue 中使用非常頻繁,可以用來傳遞數據、設置布爾型標志等。在使用 props 時還有一些需要注意的地方,下面是一些小技巧:
- props 可以設置默認值:props: { msg: { type: String, default: 'Hello World' } }
- props 是單向數據流,子組件不可修改父組件 props 中的數據
- 如果需要修改 props 中的值,可以通過計算屬性計算出一個新值
- props 的命名需要遵守駝峰式命名,但聲明時需要使用 kebab-case,如 props: { 'first-name': String }