Vue之子组件向父组件传值
<!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>子组件向父组件传值</title>
</head>
<body>
<div id="app">
<div :style='{fontSize: fontSize + "px"}'>{{pmsg}}</div>
<menu-item :parr='parr' @enlarge-text='handle2()' @enlarge-text='handle($event)' @shrink-text='handle1($event)'>
</menu-item>
</div>
</body>
<script src="../js/vue.js"></script>
<script>
Vue.component('menu-item', {
props: ['parr'],
template: `
<div>
<ul>
<li :key='index' v-for='(item,index) in parr'>{{item}}</li>
</ul>
<button @click='$emit("enlarge-text")'>扩大父组件中字体大小</button>
<button @click='$emit("enlarge-text",15)'>扩大父组件中字体大小15</button>
<button @click='$emit("shrink-text",15)'>缩小父组件中字体大小15</button>
</div>
`
});
var vm = new Vue({
el: '#app',
data: {
pmsg: '父组件中内容',
parr: ['apple', 'orange', 'banana'],
fontSize: 10
},
methods: {
handle: function (val) {
// 扩大字体大小
this.fontSize += val;
},
handle1: function (val) {
this.fontSize -= val;
},
handle2: function () {
this.fontSize += 5;
}
}
});
</script>
</html>
道阻且长,行则将至

浙公网安备 33010602011771号