可以看到上面自增加时,成了拼接字符串的效果。
打开vue工具查看:
此时n和sum都是数字,可以正常自增加,但是操作了section之后,n就变成了字符串:
此时再执行自增加,sum也会变成字符串形式。
解决方法:使用v-bind
在v-bind下,引号内部的内容会被当成JS表达式去解析。为了方便展示区别,上图内容中1是字符串形式,2和3都是数字形式(感谢编译器的颜色提示)
Vue2和Vue3对v-bind使用的解释和注意事项:
https://cn.vuejs.org/v2/api/#v-bind
https://v3.cn.vuejs.org/guide/migration/v-bind.html#%E4%BB%8B%E7%BB%8D
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
另一种解决方法是利用v-model的内置修饰符(三种内置修饰符的相关介绍:https://v3.cn.vuejs.org/guide/forms.html#lazy)
v-model的介绍:https://cn.vuejs.org/v2/api/#v-model
v-model修饰符拓展:
https://v3.cn.vuejs.org/guide/component-custom-events.html#%E5%A4%84%E7%90%86-v-model-%E4%BF%AE%E9%A5%B0%E7%AC%A6