1、设置配置文件
- 方法一:在根目录中新建vue.config.js文件
1 | module.exports = { |
- 方法二:在根目录中,新建config>index.js文件
1 | module.exports = { |
2、axios请求方法的写法:
1 | axios.get('http://ttapi.research.itcast.cn/app/v1_0/comments', { |
name属性是父组件传过来的,除了数组,对象,其他都不允许修改
props里面的数据,除了数组,对象,其他都不允许修改,所以不能用于页面元素的v-model属性中,因为v-model是双向绑定的
1 | <van-field |
当传递给子组件的数据既要使用又要修改,这种情况下我们可以使用v-model简写:
例如:父组件的name
1 | :name="user.name" |
修改为:
1 | v-model="user.name" |
子组件也要跟着修改:
1 | props: { |
v-model=”user.name”
默认传递一个名字叫value的数据: :value=”user.name”
默认监听input事件: @input=”user.name=$event”
v-model的本质还是父子组件通信,它仅仅是简化了父组件的使用,子组件还是按照原来那样使用
注:在同一个子组件传递中,v-model只能使用一次
1 | 这样是错误的: |
在同一个子组件传递中,v-model只能使用一次,如果有多个数据需要保持同步,使用.sync修饰符
1 | <update-name |
注:我们一般把最常用的数据设计为v-model绑定,把不太常用的数据设计为.sync
销毁组件的一种方法:
1、加上v-if来控制渲染
1 | <update-name |
在Vue中操作DOM,要给该元素添加ref属性
例如:点击头像,选择图片来修改头像
1、给input file添加ref属性
1 | <input type="file" hidden ref="file"> |
2、控制选择的文件类型:accept属性
1 | <input type="file" hidden ref="file" accept="image/*"> |
3、监听文件的change事件
1 | <input |
4、解决选择相同文件不触发change事件,手动清空file的value值
1 | onFileChange() { |
5、展示弹出层,在弹出层预览图片
1 | onFileChange() { |
6、父传,子收。并展示预览图片
1 | 父传: |
7、修改父子组件传值的文件格式
如果Content-Type 要求是 multipart/form-data,则一定要提交FormData数据对象,专门用于文件上传的,不能提交{}对象,没用
所以要修改父组件传过来子组件的文件格式,保留原来的文件格式:
1 | 父组件: |
8、处理接口传参
1 | // 文件格式处理 |
9、处理图片裁切,使用 cropperjs 这个跟vue没有关系,其他项目也可以使用) 也可以在Awesome 中搜crop找裁切工具
- 1、安装
1 | cnpm install cropperjs |
- 2、引入
1 | import 'cropperjs/dist/cropper.css' |
- 3、使用:放在mounted里面
1 | <img :src="image" ref="image"> |
- 4、让裁切区居中显示
1 | .update-photo{ |
- 5、获取裁切结果,getCroppedCanvas()
1 | data () { |
- 本文作者: LQbank
- 本文链接: http://example.com/2020/12/14/vue项目处理跨域请求/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!