<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
</div>
<script src="../vue.js"></script>
<script>
// <!--1 声子 Vue中 组件的名字 首字母要大写 跟标签区分 组件中的data必须是个函数 一定要有返回值
-->
let App = { <!--局部组件-->
data(){
return{
text:'我是小影'
}
},
template:`
<div id="a"><h2>{{text}}</h2></div>
`
};
new Vue({
el:'#app',
data(){
return{
msg:'lv',
}
},
template:
//用子 外面一定要有一个根元素包着
`
<div class="app222">
<App></App>
</div>
`,
//挂子
components:{
//2.挂子
//如果key和value一样 可以只写一个
//App:App
App
}
})
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
</div>
<script src="../vue.js"></script>
<script>
//第一个参数是组件的名字,第二个参数 options参数 它是全局组件,复用性高
//<slot></slot> 是vue中提供的内容组件,他会去分发内容
Vue.component('VBtn',{
data(){
return{
}
},
template:`
<button>
<slot></slot>
</button>
`
})
// App header Vaside Vcontent
// 1.声子 Vue中 组件的名字 首字母要大写 跟标签区分 组件中的data必须是个函数 一定要有返回值
let Vheader={
data(){
return{
}
},
template:`
<div>
<h2>日天</h2>
<h2>日天</h2>
<VBtn>登录</VBtn>
<VBtn>注册</VBtn>
<VBtn>按钮</VBtn>
<VBtn>提交</VBtn>
</div>
`,
}
let App={ //局部组件
data(){
return{
text:'我是小宁'
}
},
template:`
<div id="a">
<h2>{{text}}</h2>
<Vheader></Vheader>
<VBtn>删除</VBtn> <!--<全局组件直接用既可以了,不用挂子 //-->
</div>
`,
//挂子
components:{
Vheader
}
};
new Vue({
el:'#app',
data(){
return{
msg:"alex"
}
},
template:'<App />',
components:{
App
}
})
</script>
</body>
</html>