需求1:
最基本的需求就是点击哪个数字,就显示相应的内容。
因为有小数点,所以展示内容是字符串类型比较好,一开始是个空字符串。在每一个button上添加点击事件,output+=1。
但是要重复写很多次,所以把相同的代码封装成一个函数,然后把1,2,3等作为参数传进去。@click调用该函数。
但是这样写还要重复传参数,能不能不传参数呢?不传参数怎么知道按下的是什么数字呢?
如果没传参数,vue会自动给传一个事件对象event
event.target.textContent就是button标签里的文本,1,2,3等。
但是TS提示event.target可能是空,所以强制类型转换
inputContent(event: MouseEvent) {
const button=(event.target as HTMLButtonElement)
this.output+=button.textContent;
}
把event.target强制转换成 HTMLButtonElement,button标签就不能是空了。
这里传的event的类型不是点击事件,准确来说是鼠标事件。
现在点击后就可以直接调用该函数,不需要传1,2,3等参数了。