vue监听子组件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_41535326/article/details/102696005

下面是一个通过监听子组件,点击按钮实现字体变大的实例:

<html>
	<head>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/[email protected]/lodash.min.js"></script>
	</head>
	<body>
	<div id="blog-posts-events-demo">
	  <div :style="{ fontSize: postFontSize + 'em' }">
	    <blog-post
	      v-for="post in posts"
	      v-bind:key="post.id"
	      v-bind:post="post"
		   v-on:enlarge-text="postFontSize += 0.1"
	    ></blog-post>
	  </div>
	</div>
		<script type="text/javascript">
			Vue.component('blog-post', {
			  props: ['post'],
			  template: `
			    <div class="blog-post">
			      <h3>{{ post.title }}</h3>
			   <button v-on:click="$emit('enlarge-text')">
			     Enlarge text
			   </button>
			      <div v-html="post.content"></div>
			    </div>
			  `
			})
			new Vue({
			  el: '#blog-posts-events-demo',
			  data: {
			    posts: [
					{'id':'1','title':'title1','content':'<div id="content1"></div>'}
				],
			    postFontSize: 1
			  }
			})
		</script>
	</body>
</html>

效果图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41535326/article/details/102696005