组件可以访问Vue实例数据吗?
不能访问,因为组件是一个单独功能模块的封装,这个模块有属于自己的HTML模板,所以也应有自己的数据data
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<cmp></cmp>
<cmp></cmp>
<cmp></cmp>
<cmp></cmp>
</div>
<!--模板-->
<template id="cmp">
<div> <!--div别忘了-->
<h2>当前计数:{{counter}}</h2>
<button @click="increasing">+</button>
<button @click="decreasing">-</button>
</div>
</template>
<script>
Vue.component('cmp',{
template: '#cmp',
data() { /*为了使每一个对象单独分开*/
return {
counter: 0
}
},
methods: {
increasing() { //后边不加function
this.counter++
},
decreasing() {
this.counter--
}
}
})
/*let(变量)const(常量)*/
const app = new Vue({
el: '#app', //用于挂载要管理的元素
data: { //定义数据
message: 'hello world',
}
})
</script>
</body>
</html>
注意
data() { /*为了使每一个对象单独分开*/
return {
counter: 0
}
},
注意这种写法