Vue中创建单文件组件 注册组件 以及组件的使用
1. App.vue
#App.vue
<template>
<div>
<v-home></v-home>
<hr />
<br />
<v-news></v-news>
</div>
</template>
<script>
// 引入组件
// 挂载组件
// 在模板中使用
import Home from "./Home.vue";
import News from "./News.vue";
export default {
data() {
return {
msg: "你好vue",
};
},
components: {
/*前面的组件名称不能和html标签一样*/ "v-home": Home,
"v-news": News,
},
};
</script>
2. Header.vue
# Header.vue
<template>
<div>
<h2 class="header">这是一个头部组件</h2>
</div>
</template>
<script>
export default {
data() {
return {
msg: "这是一个头部组件",
};
},
};
</script>
3. Home.vue
<!-- Home.vue -->
<template>
<!-- 所有的内容要被根节点包含起来 -->
<div>
<v-header></v-header>
<br />
<hr />
<h2>这是一个首页组件--{{ msg }}</h2>
<button @click="run()">执行run方法</button>
</div>
</template>
<script>
// 引入头部组件
import Header from "./Header.vue";
export default {
data() {
return {
msg: "我是一个首页组件msg",
};
},
methods: {
run() {
alert(this.msg);
},
},
components: {
"v-header": Header,
},
};
</script>
4. News.vue
<!-- News.vue -->
<template>
<div>
<v-header></v-header>
<h2>这是一个新闻组件</h2>
<ul>
<li>111111</li>
<li>2222</li>
<li>333333</li>
</ul>
</div>
</template>
<script>
//引入头部组件
import Header from "./Header.vue";
export default {
data() {
return {
msg: "我是一个新闻组件",
};
},
components: {
"v-header": Header,
},
};
</script>