一、父组件向子组件传递多个参数:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>16</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id="root"></div>
<script>
const app = Vue.createApp({
data() {
return {
params: {
content: 1234,
a: 123,
b:456,
c: 789
}
}
},
template: `<div><test v-bind="params"/></div>`
});
app.component('test', {
props: ['content', 'a', 'b', 'c'],
template: `<div>{{content}}-{{a}}-{{b}}-{{c}}</div>`
})
const vm = app.mount('#root')
</script>
</body>
</html>
注意事项:父组件向子组件传递的变量若名字中有‘-’(html语法不支持驼峰写法), 则在子组件接收的时候要去掉‘-’并且改成驼峰命名
<script>
const app = Vue.createApp({
data() {
return {
content: 1234
}
},
template: `<div><test :content-abd="content"/></div>`
});
app.component('test', {
props: ['contentAbc'],
template: `<div>{{contentAbc}}</div>`
})
const vm = app.mount('#root')
</script>
二、单向数据流
- 定义:子组件可以使用父组件传递过来的数据,但不能在子组件中修改
<script>
const app = Vue.createApp({
data() {
return {
num: 1
}
},
template: `<div><counter :count="num" /></div>`
});
app.component('counter', {
props: ['count'],
template: `<div @click="count +=1">{{count}}</div>`
})
const vm = app.mount('#root')
</script>
以上触发点击事件后不会有任何变化