<body>
<div
id
=
"app"
>
<input
type
=
"text"
v-model
=
"txt"
>
<br>
<!-- 在vue中使用v-on指令进行事件绑定 -->
<!-- 格式为v-on:事件类型="绑定方法" -->
<!-- 绑定的方法必须是本组件的methods中的方法 ,方法名后可以加(),也可以不加()。区别是:如果不加括号,vue在调用方法时会自动传递event对象,如果加了()则可以自定义传参。
传参时需要事件对象可以传递$event-->
<!-- <button v-on:click="btnClick">按钮</button> -->
<!-- <button v-on:click="btnClick($event)">按钮</button> -->
<!-- v-on: 可以缩写为@ -->
<!-- ()可以加可以不加 加()需要传参,不加直接传event -->
<button
@
click
=
"btnClick"
>
按钮
</button>
<br>
<br>
<button
@
click
=
"secondBtn"
>
按钮
</button>
<br>
<hr>
<button
@
click
=
"jian"
>
-
</button>
<br>
<span>
{{number}}
</span>
<br>
<button
@
click
=
"jia"
>
+
</button>
</div>
<script
src
=
"vue.js"
>
<
/script>
<script>
let
root
=
new
Vue
({
el:
"#app"
,
data:
{
txt:
""
,
number:
0
,
},
// 组件的参数配置对象中,methods表示组件方法,类型是一个对象,对象中以键值对的形式添加方法(函数)。组件中的方法可以被v-on指令监听。
// arguments 一个函数调用时 所有的参数对象
methods:
{
btnClick
:
function
(
e
){
// console.log("123")
// console.log(e)
// console.log(root.txt)
// 组件创建之后,组件中data中的数据会作为属性添加到组件对象中,而methods中的函数会作为方法添加到组件对象中.(所以data中的名字和methods中的名字不能重复)
// 在组件方法中,this表示这个组件对象本身。所以在本组件方法中可以通过this访问本组件的data,也可以通过this调用本组件的其他方法。
console
.
log
(
this
.
txt
)
},
secondBtn
(){
console
.
log
(
"second"
)
},
// 组件的方法中不能使用箭头函数,否则会导致函数中的this不指向组件对象,从而不能使用组件中的其他数据或方法。
jia
(){
this
.
number
=
this
.
number
+
1
;
},
jian
(){
this
.
number
=
this
.
number
-
1
;
}
}
})
<
/script>
</body>