欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue.js框架--创建单个组件和组件的使用(九)

程序员文章站 2022-05-24 13:29:00
...

主要操作技能:

     1.创建单个组件

Vue.js框架--创建单个组件和组件的使用(九)

     2.应用组件步骤

       a)引入组件  import Home from './components/Home.vue';
       b)挂载组件
           components: { 
               'v-home': Home
          }
       c)在模板中使用组件
          <v-home></v-home> 

项目如下:  

Vue.js框架--创建单个组件和组件的使用(九)

编写代码:

 App.vue

<template>
	<div id="app">
		<!--<h2>这是根组件</h2> {{msg}}
		<br /><br />-->
		<!--3.在模板中使用-->
		<v-home></v-home>
		<br /><br />
		<hr />
		<v-news></v-news>

	</div>
</template>

<script>
	import Home from './components/Home.vue'; //1.引入组件
	import News from './components/News.vue';
	export default {
		name: 'app',
		data() { //业务逻辑的数据
			return {
				msg: 'hello'
			}
		},
		components: { //2.挂载组件
			/*前面组件名称不能与html标签相同*/
			'v-home': Home,
			'v-news': News
		}
	}
</script>

 Home.vue

<template>
	<!--所以的内容多要被根节点包含起来 -->
	<div>
		<v-header></v-header> <!--3.使用组件-->
		<h2>首页组件</h2>
		<button @click="run()">execute</button>
	</div>
</template>

<script>
	import Header from './Header.vue'; //1.引入头部组件
	export default {
		data() { //数据
			return {
				msg: '我是首页组件'
			}
		},
		methods: { //方法
			run() {
				return alert(this.msg);
			}
		},
		components:{ //2.挂载组件
			'v-header':Header  
		}
	}
</script>

<style lang="scss" scoped>
/*css 局部作用域scoped	*/
	h2{
		color:red;
	}
</style>

 News.vue

<template>
	 <div>
	 	<v-header></v-header>
	 	<br/><br />

	 	<!--<h2>这是一个苹果组件</h2>-->
	 	<h2>{{msg}}</h2>
	     <ul>
	     	<li>apple</li>
	     	<li>banana</li>
	     	<li>pear</li>
	     </ul>
	 </div>
</template>

<script>
	//1.引入头部组件
	import Header from './Header.vue';
	export default{
		data(){
			return{
				msg:'这是一个苹果组件哦哦!'
			}
		}, 
		components:{ //2.挂载组件
			'v-header':Header
		}
	}
</script>

<style lang="scss">
</style>

 Header.vue

<template>
	<div>
		<h2 class="bg">{{msg}}</h2>
	</div>
</template>

<script>
	export default{
		data(){
			return{
				msg:'这是一个头部组件'
			}
		}
	}
</script>

<style lang="scss">
  .bg{
  	background:dimgray;
  	color:#fff;
  }
</style>

效果:

Vue.js框架--创建单个组件和组件的使用(九)