importCreds по-прежнему ссылается на исходный this
, однако chrome.tabs.query({}, function(tabs) {})
- нет. Вы можете сохранить эту ссылку, назначив this
переменной e.g. (let app = this)
, а затем используйте app.error
.
data () {
return {
url: '',
apikey: '',
error: '',
}
},
methods: {
accountSummaryButton () {
if (localStorage.getItem("accounts") == null) {
this.error = 'There are no available accounts.';
} else {
// STUFF
}
},
saveLogin (event) {
let app = this;
if (!app.getAccountData(app.url,app.apikey,this.method)) {
this.error = 'An error has occured, please check Url and API Key.';
} else {
// STUFF
}
},
importCreds () {
let app = this;
chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
chrome.tabs.sendMessage(
tabs[0].id,
{ action: "import_creds" },
function(response) {
if (response) {
app.url = response.affiliateurl
app.apikey = response.apikey
} else {
app.error = 'Go to your affiliate site.';
}
}
);
});
},
},