
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>
<script type="text/javascript" src="../js/vue.js">script>
<script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.4/dayjs.min.js">script>
head>
<body>
<div id="root">
<school>school>
<student>student>
<hello>hello>
div>
<script type="text/javascript">
const school = Vue.extend({
template:`
{{name}}
{{loc}}
`,
data(){
return {
name:'AAA',
loc:'BBB',
}
}
})
const student = Vue.extend({
data(){
return {
name:'王二',
age:18
}
},
template:`
{{name}}
{{age}}
`,
})
const hello = Vue.extend({
data(){
return {
name:'王二',
}
},
template:`
hello, {{name}}
`,
})
// 注册为全局组件
Vue.component('hello', hello)
const vm = new Vue({
el:'#root',
// 配置局部组件
components:{
school,
student
}
})
script>
body>
html>

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>
<script type="text/javascript" src="../js/vue.js">script>
<script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.4/dayjs.min.js">script>
head>
<body>
<div id="root">
<my-school>my-school>
<student>student>
<hello>hello>
div>
<script type="text/javascript">
const school = {
template:`
{{name}}
{{loc}}
`,
data(){
return {
name:'AAA',
loc:'BBB',
}
}
}
const student = Vue.extend({
name:'Wanger', // 在Vue开发者工具显示的名字,如不定义,就显示注册的名字
data(){
return {
name:'王二',
age:18
}
},
template:`
{{name}}
{{age}}
`,
})
const hello = Vue.extend({
data(){
return {
name:'王二',
}
},
template:`
hello, {{name}}
`,
})
// 注册为全局组件
Vue.component('hello', hello)
const vm = new Vue({
el:'#root',
// 配置局部组件
components:{
'my-school':school,
student
}
})
script>
body>
html>
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>
<script type="text/javascript" src="../js/vue.js">script>
<script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.4/dayjs.min.js">script>
head>
<body>
<div id="root">
<app>app>
div>
<script type="text/javascript">
const student = Vue.extend({
name:'student',
data(){
return {
name:'王二',
age:18
}
},
template:`
{{name}}
{{age}}
`,
})
const school = {
name:'school',
template:`
{{name}}
{{loc}}
`,
data(){
return {
name:'AAA',
loc:'BBB',
}
},
components:{
student
}
}
const hello = Vue.extend({
name:'hello',
data(){
return {
name:'王二',
}
},
template:`
hello, {{name}}
`,
})
const app = {
template:`
`,
components:{
school,
hello
}
}
const vm = new Vue({
el:'#root',
// 配置局部组件
components:{
app
}
})
script>
body>
html>



尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通
https://www.bilibili.com/video/BV1Zy4y1K7SH?p=15&share_source=copy_web&vd_source=d3c9ceb0642f45fbe95f795c0d074040Vue 官方文档
https://cn.vuejs.org/v2/guide/
Vue api 文档
https://cn.vuejs.org/v2/api/