<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app">
<div>{{pmsg}}</div>
<menu-item title='来自父组件的值'></menu-item>
<menu-item :title='ptitle' content='hello'></menu-item>
</div>
<script src="../js/vue.js"></script>
<script>
/*
父组件向子组件传值
*/
Vue.component('menu-item', {
props: ['title', 'content'],
data: function () {
return {
msg: '子组件本身的数据'
}
},
template: '<div>{{msg+"----"+title+"----"+content}}</div>'
})
var vm = new Vue({
el: '#app',
data: {
pmsg: '父组件中内容',
ptitle: '动态绑定属性'
}
});
</script>
</body>
</html>
上述代码最终的输出结果为
父组件向子组件传值。顾名思义,带有值本身的组件即为父组件,而带有“插槽”的组件即为子组件
红框即为父组件部分,黄框即为子组件部分
子组件通过属性 props 来接收父组件所传递过来的值,进而输出