我想从 success
Dropzone 事件回调中访问 VueJS 变量。
所有代码都没有问题,DropzoneJS 和 VueJS 可以很好地协同工作,但是我的变量 photos
在成功回调中不可访问。
这是我的脚本的一个简单实现:
<script>
import Dropzone from 'dropzone';
export default {
data() {
return {
photos: []
};
},
ready() {
Dropzone.autoDiscover = false;
new Dropzone('form#upload-form', {
url: '...',
success: function(file, response) {
this.photos = response.data.photos;
// this.photos is not accessible here
}
});
}
}
</script>
是否有以这种方式访问 VueJS 组件变量的最佳实践? 谢谢
最佳答案
按照您目前的做法,this
引用可能存在范围界定问题。
我建议在 Dropzone
实例化之外重新分配 this
并像这样使用它...
ready() {
Dropzone.autoDiscover = false;
const self = this;
new Dropzone('form#upload-form', {
url: '...',
success: function(file, response) {
self.photos = response.data.photos;
// this.photos is not accessible here
}
});
}
关于Javascript 和 VueJS 变量访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558252/