首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定义要在组件内部使用的全局变量

定义要在组件内部使用的全局变量
EN

Stack Overflow用户
提问于 2021-12-24 11:28:25
回答 1查看 159关注 0票数 1

我有一个Laravel 8项目,安装了vue-甜警报2。我只想定义一次Toast行为,然后在我的组件中调用它。

到目前为止,我已经有了以下代码:

/js/components/Mypage.vue

代码语言:javascript
复制
<script>
export default {
    data: function () {
        return { ... };
    },
    mounted() { ... },
    methods: {
        myMethod: function () {
            const Toast = this.$swal.mixin({
                toast: true,
                showConfirmButton: false,
                timer: 2000,
                timerProgressBar: false,
            });
            axios
                .post("/api/something")
                .then((res) => {
                    Toast.fire({
                        icon: "success",
                        title: "Tessera rinnovata",
                    });
                });
...
</script>

当然,这很好,但是正如您所看到的,Toast是在方法中定义的,我不能在其他地方重用它。

我想在app.js (可能)中定义它,而不是在任何地方访问它,但是如果我按原样在app.js中移动代码,我会收到一个错误,它告诉我没有定义$swal。我试着用Swal代替$swal.什么都没变。

/js/app.js

代码语言:javascript
复制
import VueSweetalert2 from "vue-sweetalert2";
import "sweetalert2/dist/sweetalert2.min.css";

window.Vue = require("vue").default;
import VueRouter from "vue-router";

Vue.use(VueRouter);
Vue.use(VueSweetalert2);

const Toast = $swal.mixin({
    toast: true,
    showConfirmButton: false,
    timer: 2000,
    timerProgressBar: false,
});

那么,我怎样才能定义一次烤面包呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-25 01:26:10

看起来,您正在尝试使用初始化选项设置SweetAlert实例(组件中的this.$swal)。这可以在安装vue-sweetalert插件时完成。Vue.use()的第二个参数是插件选项:

代码语言:javascript
复制
// js/app.js
import Vue from 'vue'
import VueSweetAlert from 'vue-sweetalert2'

Vue.use(VueSweetAlert, {
  toast: true,
  showConfirmButton: false,
  timer: 2000,
  timerProgressBar: false,
})

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70472428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档