<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>模板与父子组件传值</title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="app"></div>
</body>
<script>
//子模板需要挂载
// var Header = {
// data(){
// return {
// msg:'我是头部'
// };
// }
// template:'<div>{{msg}}</div>'
// };
Vue.component('Header',{
data(){
return {
msg:'我是头部',
text:'我是子组件传进来的内容'
};
},
props:['content'],
template:'<div>{{msg}}({{content}})<button @click="setVal" >传递到父组件中</button></div>',
methods:{
setVal(){
this.$emit('getChildText',this.text);
}
}
});
new Vue({
el:'#app',
data(){
return {
content:'我是父组件传进来的内容',
childText:''
};
},
// components:{
// Header
// },
template:'<Header :content=content @getChildText=getChildText />',
methods:{
getChildText(val){
this.childText = val;
alert("父组件弹框:"+val);
}
}
});
</script>
</html>