最近在使用uni-app做个小程序的尝试,因为很久没有做前端了,对这块有点陌生了,毕竟这个和之前的 web的还是有点区别的
上传logo的一个小功能
想法是上传之后 用临时文件替换src的值
<view class="input">
<image style="height: 200upx;width: 200upx;" :src="logo" @tap="uploadAvatar"></image>
</view>
export default {
data() {
return {
logo:"../../../static/img/missing-face.png"
},
methods: {
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: function (res) {
this.logo = "https://img-cdn-qiniu.dcloud.net.cn/uniapp/images/uni@2x.png";
}
});
}
}
this.logo 没法动态改变 logo的值 不知道是我自己的写的有问题 ,我在官方论坛提了这个问题,有人回我说是建议箭头函数,基础太差搞了半天没搞定,后来想到去百度搜下vue外层调用this的问题,this谁调用指向谁的原则
于是乎添加 var _self = this; 代码 如下:
var _self = this;
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: function (res) {
_self.logo = "https://img-cdn-qiniu.dcloud.net.cn/uniapp/images/uni@2x.png";
_self.logo =res.tempFilePaths[0];
console.log(JSON.stringify(res));
于是乎问题解决,感谢各位提供帮助的