vue回调函数无法更改model的值

data:{
isUpload:true,
} 

点击上传函数:

 getFile(event) {
//选择图片
               let eventId = event.target.id;
                 let type=  testImgType(eventId);
                if(!type){
                    return;
                }
                let fileName = event.target.files[0].name;
                let max = testMaxSize(event.target.files[0],1024*3*1024);
                if(!max){
                    return;
                }
                let width = testImgWidthHeight(eventId,1920,1080,function (res) {
                    if (!res) {
                        this.isUpload=false;
                        console.log( this.isUpload)
                        vue.$message({
                            message: ‘图片尺寸不正确!‘,
                            type: ‘warning‘
                        });
                    }else {
                        this.isUpload=true;
                        console.log( this.isUpload)
                    }
                });
                if(eventId==‘addWorkFile‘){
                    this.file = event.target.files[0];
                    this.workFileName=fileName;
                }else{
                    this.file2 = event.target.files[0];
                    this.personFileName=fileName;
                }
            },
//点击上传
            submitForm(event) {
                console.log(this.isUpload)
                if(!this.isUpload){
                    console.log(this.isUpload)
                    return;
                }

结果isUpload的值没有变化,

原因:

在请求执行成功后执行回调函数中的内容,回调函数处于其它函数的内部this不会与任何对象绑定

解决办法:一)将指向vue对象的this赋值给外部方法定义的属性,然后在内部方法中使用该属性

二)使用箭头函数

看更改后的结果:

原文地址:https://www.cnblogs.com/SimonHu1993/p/9253295.html

时间: 2024-08-30 13:43:40

vue回调函数无法更改model的值的相关文章

nodejs如何从异步回调函数返回想要的值

const fs = require('fs') let read=()=>{ fs.readFile("./contents/test.json",(err,data)=>{ return JSON.parse(data.toString()) }) } (()=>{ let result = read() console.log(result) //undefind })() 我们想从一个回调函数返回一个我们想要的值,如果按照上面的写法我们始终只能拿到undefi

关于回调函数 usort() uksrot() sort() 介绍简介【实验是从小到大排序】

/* * usort($arr, "自定义回调函数") 对数组中的值进行比较  */    $a=array(1,5,2,6,3);    //用户自定义回调函数     function dd($a, $b){    //用户自定义回调函数         if($a == $b){            return 0;       //如果两个参数相等,返回0         }        return ($a<$b)?-1:1;  //如果第1个参数大于第2个返回1

C++ 回调函数的定义与用法

一回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢? 使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数. 而 那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作.至于如何定义回调函数,跟具体使用的 A

c回调函数(真不好理解)

什么是回调函数(callback) 模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应. 那么我们就把foo称为回调函数. 例子: 回调函数是一个很有用,也很重要的概念.当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数.回调函数在windows编程使用的场合很多, 比如Hook回调函数:MouseProc,GetMsgProc以及EnumWindows,Dr

C++回调函数(callback)的使用

什么是回调函数(callback)    模块A有一个函数foo,他向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应. 那么我们就把foo称为回调函数.   例子:      回调函数是个很有用,也很重要的概念.当发生某种事件时,系统或其他函数将会自动调用您定义的一段函数.回调函数在windows编程使用的场合很多, 比如Hook回调函数:MouseProc,GetMsgProc连同EnumW

回调函数以及钩子函数的概念

钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统.每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权.这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递.对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获得控制权.要实现Win32的系统钩子,必须调用SDK中的API函数SetWindowsHookEx来安装这个钩子函数,这个函数的原型是

jQuery源码研究分析学习笔记-回调函数(11)

回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针调用它所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应. // 工具函数,将字符串格式的标记转换为对象格式,并把转换结果缓存起来 function createFlags( flags ) { //初始化返回值object和flagsCache[flags]为空对象,同时指向了同一个空对象,当变

回调函数设计方法

引入: 你显示器不亮了,你不知道怎么弄,那你就问在外地干IT的大表哥,你大表哥告诉你修理的方法,然后需要你自己来操作. 你大表哥知道怎么弄,但是自己不去弄,而是由你去弄. 换句话说,你大表哥实现了修理你显示器的方法,但他不会自己去调用,而是由你去调用.那么你大表哥告诉你的修机器的方法就是回调函数. 在这个比喻里,你自己 作为主调方,有实际的需求--修显示器,但是没有方法,求教表哥的时候,表哥给你的方法 就是一个 函数地址,当你按照大表哥的方法执行的时候,就是 执行了一个回调函数了. 在工程设计中

在 SQLite3 中使用回调函数

回调函数的格式如下: int sqlite_callback( void* pv,    /* 由 sqlite3_exec() 的第四个参数传递而来 */ int argc,        /* 表的列数 */ char** argv,    /* 指向查询结果的指针数组, 可以由 sqlite3_column_text() 得到 */ char** col        /* 指向表头名的指针数组, 可以由 sqlite3_column_name() 得到 */ ); 参数格式: 传给sql