1.wach 监听一个属性的时候,在页面刚刷新的时候是检测不到的,只有在页面中数据变化的时候才能检测到
只有在iinput 输入框中改变firstName的时候才能监听到
2.如何在页面刚开的时候就能监听到?只要将firstName加上监听方法handler以及immediate : true就能在刷新页面的时候监听到
watch: {
firstName: {
handler:function (newName.oldName){
},
immediate: true
}
3.如果watch想要监听一个对象的话,直接监听是监听不到的
直接监听person.name只有在页面钢刷新的时候能在watch中打印出来后面person.name的值改变就监听不到了,还是和之前一样由于vue监听不到getter和setter所以导致了这个问题,这个时候可以使用深度监听,deep:true,这个可以对对象进行深入监听,只要对象中的任意一个属性发生了变化的情况下都可以监听到,但是缺点是性能消耗大,因为加上了deep 这个属性之后,就会深层遍历对象属性
watch{
person:{
handler(newValue,oldValue){
},
immediate: true,
deep:true
}}
4.因为deep直接去监听一个对象的话性能消耗非常的大,所以我们可以之间听某一个属性,比如说我们可以监听person.name那么
需要注意的是监听对象属性的时候要写成字符串的形式,这个时候只会监听对象的name属性,person.sex属性不会被监听到
watch:{
'person.name': {
handler: function (newValue,oldValue){
},
deep:true,
}}
这个是注销方法,我也不知道是因为什么
5.oss上传文件
首先说以下表单上传的问题
form 表单要设置enctype=""总共有三种形式,一个是url_encode 这个是对字符编码并且空格转化成“+“,text/plain不会进行编码
还有一个是multipart /form-data这个是不会对字符进行编码,但是只适用于文件上传,一般和method=‘post’联合使用
就感觉这篇 文章写超级棒https://blog.csdn.net/mazhibinit/article/details/49667511
表单的数据提交主要由两个属性来决定,action和method。
action:规定当提交表单时该向何处发送数据。
通常有3中取值方式:
一个URL,一般指向一个服务器端的程序,程序接受表单传输的数据并作处理。
使用mailto协议的地址,会将表单内容以电子邮件的方式发送出去,比较少见需要访问者计算机上正确安装和设置了邮件发送程序。
空值,如果action为空或不写,表示提交给当前页面。
get会将表单信息提交服务器时会将信息拼接起来形成一个url地址,容易泄漏,而post不会,所以安全性上post比较有优势。
get会把提交的内容拼接到地址,所以当提交内容较长时,将无法使用get进行传输,而post不会出现这种问题。
所以对与安全性要求比较高的数据传输用post,比较低的用get。
一些比较长的数据传输用post,短数据用get。