vue中使用ajax想改變值的時候,發現改變不了。原來是指示的this不同導致的。
getAdmin () { var that = this $.ajax({ type: 'get', url: 'http://iis-server.XXX.com:9090/api/Add/GetClientUser', dataType: 'jsonp', jsonp: 'callback', jsonpCallback: 'Adduser', success: function (data) { var array = data.resultss.split('\\') var admin = array[array.length - 1] if (admin.length > 100) { // 保存到本地 window.sessionStorage.setItem('admin', admin) } else { that.errDialogVisible = true console.log(this) } }, error: function (xhr, textStatus, errorThrown) { that.errDialogVisible = true } }) }
本想改變errDialogVisible的值為true ,結果發現改完之后errDialogVisible的值還是為false,原因是兩個this指示的內容不同導致的。
如果想改變值的話,就需要在ajax外部使用var that=this賦值給that,然后在ajax中使用that.errDialogVisible(如上面的代碼所示),就可以改變值了。