如何在 Vue 3 中使用 Laravel 烤面包机包
How to use Laravel toaster package in Vue 3
我在一个用 Laravel 8 和 Vue 3 制作的项目中工作。
我使用这个 Laravel toastr 包:
composer require yoeunes/toastr
这个烤面包机在 Laravel 控制器中工作得很好,但问题是我不知道如何在 vue axios 函数中调用这个烤面包机。
如何让这个 toastr 全球化?这样我就可以在 Laravel 和 Vue.js 两边使用它了?
如果你能帮我解决这个问题,我会很高兴。
Vue 函数:
methods: {
submit() {
axios.post('/login', this.fields)
.then(response => {
if (response.status === 200) {
// Hier comes 'welcome message'
toastr()->success('you are logged in');
}
}).catch(error => {
if (error.response.status === 401) {
this.errors = error.response.data.errors;
}
});
}
}
我认为您应该声明一个全局变量并将 'this' 分配给它,因为每当您在 axios 中调用 'this' 时,它都会引用响应。然后,在 axios 函数中调用声明的全局变量:
methods: {
submit() {
var gloabl_this = this;
axios.post('/login', this.fields)
.then(response => {
if (response.status === 200) {
// Hier comes 'welcome message'
global_this.toastr()->success('you are logged in');
}
}).catch(error => {
if (error.response.status === 401) {
this.errors = error.response.data.errors;
}
});
}
}
希望这对你有用,如果仍然有任何错误请告诉我。
问题我解决了! :-)
在 laravel 个控制器中,这个包对我来说工作正常。
composer require yoeunes/toastr
为了使 toastr Global 也能在 Vue.js 中工作,我已经通过 npm 安装了 toastr 包,如下所示!
npm install toastr --save
npm run dev
那我已经在bootstrap.js
注册了
window.toastre = require('toastr');
然后我就可以在我的 vue axios 函数中调用他了!
methods: {
submit() {
axios.post('/login', this.fields)
.then(response => {
if (response.status === 200) {
this.fields = {};
this.errors = {};
this.success = true;
toastr.success('you are logged in');
}
}).catch(error => {
if (error.response.status === 401) {
this.errors = error.response.data.errors;
}
});
}
}
我在一个用 Laravel 8 和 Vue 3 制作的项目中工作。 我使用这个 Laravel toastr 包:
composer require yoeunes/toastr
这个烤面包机在 Laravel 控制器中工作得很好,但问题是我不知道如何在 vue axios 函数中调用这个烤面包机。
如何让这个 toastr 全球化?这样我就可以在 Laravel 和 Vue.js 两边使用它了?
如果你能帮我解决这个问题,我会很高兴。
Vue 函数:
methods: {
submit() {
axios.post('/login', this.fields)
.then(response => {
if (response.status === 200) {
// Hier comes 'welcome message'
toastr()->success('you are logged in');
}
}).catch(error => {
if (error.response.status === 401) {
this.errors = error.response.data.errors;
}
});
}
}
我认为您应该声明一个全局变量并将 'this' 分配给它,因为每当您在 axios 中调用 'this' 时,它都会引用响应。然后,在 axios 函数中调用声明的全局变量:
methods: {
submit() {
var gloabl_this = this;
axios.post('/login', this.fields)
.then(response => {
if (response.status === 200) {
// Hier comes 'welcome message'
global_this.toastr()->success('you are logged in');
}
}).catch(error => {
if (error.response.status === 401) {
this.errors = error.response.data.errors;
}
});
}
}
希望这对你有用,如果仍然有任何错误请告诉我。
问题我解决了! :-)
在 laravel 个控制器中,这个包对我来说工作正常。
composer require yoeunes/toastr
为了使 toastr Global 也能在 Vue.js 中工作,我已经通过 npm 安装了 toastr 包,如下所示!
npm install toastr --save
npm run dev
那我已经在bootstrap.js
注册了window.toastre = require('toastr');
然后我就可以在我的 vue axios 函数中调用他了!
methods: {
submit() {
axios.post('/login', this.fields)
.then(response => {
if (response.status === 200) {
this.fields = {};
this.errors = {};
this.success = true;
toastr.success('you are logged in');
}
}).catch(error => {
if (error.response.status === 401) {
this.errors = error.response.data.errors;
}
});
}
}