<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>vue多层组件间通信</title>
</head>
<body>
<div id="app">
<mparent :imgsrc="img" :title="title"></mparent>
</div>
<template id="img_child">
<img :src="imgsrc" width="200" height="200">
</template>
<template id="title_child">
<h2>{{title}}</h2>
</template>
<template id="my_parent">
<div>
<child1 :imgsrc="imgsrc"></child1>
<child2 :title="title"></child2>
</div>
</template>
<script src="js/vue.js"></script>
<script>
//js相关代码
//子组件的实例
let childImg = Vue.extend({
template: '#img_child',
props: ['imgsrc']
});
let childTitle = Vue.extend({
template: '#title_child',
props: ['title']
});
//注册父组件
Vue.component('mparent', {
props: ['imgsrc', 'title'],
components: {
'child1': childImg,
'child2': childTitle
},
template: '#my_parent'
});
new Vue({
el: '#app',
//Vue 实例的数据对象
data: {
img: 'img/ad.png',
title: '真好啊'
},
});
</script>
</body>
</html>
用的你的代码 没有问题啊 能出来图片和文字啊