Vue中data返回对象和返回值的区别


速记:粗浅的理解是,事件的结果是影响单个组件还是多个组件。因为大部分组件是要共享的,但他们的data是私有的,所以每个组件都要return一个新的data对象

返回对象的时候

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title></title>
	<link rel="stylesheet" href="">
	<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
	<div id="components-demo3" class="demo">
		<button-counter2></button-counter2>
		<button-counter2></button-counter2>
		<button-counter2></button-counter2>
	</div>
	<script>
	Vue.component('button-counter2',{
		data:function(){
			return {
				count:0
			}
		},
		template:'<button v-on:click="count++">点击了{{count}}次</button>'
	})
	
	new Vue({
		el:'#components-demo3'
	})
	
	</script>
</body>
</html>


data直接返回值的时候

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title></title>
	<link rel="stylesheet" href="">
	<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
	<div id="components-demo3" class="demo">
		<button-counter2></button-counter2>
		<button-counter2></button-counter2>
		<button-counter2></button-counter2>
	</div>
	<script>
	buttonCounter2Data={
		count:0
	}
	Vue.component('button-counter2',{
		data:function(){
			return buttonCounter2Data
		},
		template:'<button v-on:click="count++">点击了{{count}}次</button>'
	})
	
	new Vue({
		el:'#components-demo3'
	})
	
	</script>
</body>
</html>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM