我没有在线找到任何文档或示例,但是将多个道具传递给组件的正确方法是哪种?
这是我尝试过的:
在HTML中
<component:prop1="data1" :prop2="data2"></component>
Run Code Online (Sandbox Code Playgroud)
在component.js中
props: ['prop1','prop2'],
Run Code Online (Sandbox Code Playgroud)
但很奇怪地不起作用...
小智 24
尽管这有点旧,但我想做出贡献。如果你想“一次”传递一堆属性,你可以使用“v-bind”
假设您的组件有一堆道具:
props: ['age', 'year', 'date']
Run Code Online (Sandbox Code Playgroud)
取而代之的是下面的常规方式:
<MyAwesomeComponent :age="age" :year='year' :date='today' />
Run Code Online (Sandbox Code Playgroud)
也可以这样做:
<MyAwesomeComponent v-bind="groupedProps" />
Run Code Online (Sandbox Code Playgroud)
被“groupedProps”以下对象:
groupedProps: {age:134, year:2153, today: new Date()}
Run Code Online (Sandbox Code Playgroud)
... v-bind="groupedProps" ...
该行为在此处的 vue 文档中进行了描述
您可以将多个道具传递给这样的组件。在父组件中:
<template>
<div id="app">
<child-component :propA=propa :propB=propb></child-component2>
</div>
</template>
<script>
import ChildComponent from './components/comp2'
export default {
name: 'app',
components: {
ChildComponent
},
data () {
return {
propa : 65,
propb : 'Nitin'
}
}
}
</script>
<style></style>
Run Code Online (Sandbox Code Playgroud)
在子组件中:
<template>
<div>
{{propA}}
{{propB}}
</div>
</template>
<script>
export default {
props: {
propA: Number,
propB: String
}
}
</script>
<style lang="css">
</style>
Run Code Online (Sandbox Code Playgroud)
参考:
Vue道具验证
编辑:
更多信息和示例参考可以在以下位置找到:
将数据传递给子组件的道具
| 归档时间: |
|
| 查看次数: |
9461 次 |
| 最近记录: |