Laravel Inertia 中的 Vue mixins

Posted

技术标签:

【中文标题】Laravel Inertia 中的 Vue mixins【英文标题】:Vue mixins in Laravel Inertia 【发布时间】:2021-05-04 11:21:45 【问题描述】:

我正在尝试通过 Vue mixin 在 Laravel Inertia 项目上创建一个全局帮助函数,但无济于事:

//app.js
Vue.mixin(
    methods: 
        myFunction() 
            return 'Returnign from myFunction';
        ,
    ,
);

new Vue(
...
).$mount(app);

.

//MyComponent.vue
console.log(myFunction()); // ReferenceError: myFunction is not defined

在一个独立的 Vue.JS 项目上,这是可行的。也许在 Inertia 的幕后有一些东西阻止了 mixin 的加载。有人可以帮我理解为什么会这样吗?

谢谢。

【问题讨论】:

【参考方案1】:

你的函数需要()

Vue.mixin(
    methods: 
        myFunction() 
            return 'Returnign from myFunction';
        ,
    ,
);

然后你在 mixin 函数之前错过了this

console.log(this.myFunction());
    

【讨论】:

以上是关于Laravel Inertia 中的 Vue mixins的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Vue Inertia 需要对 app.blade 中的脚本资产进行硬刷新,每次更改路线

使用 Vue.Js / Inertia.js 和 Laravel 对结果进行分页

Laravel Inertia (Vue) - 无需重定向即可进行身份验证

在 Inertia.js Vue 文件中访问 Laravel 的 .env 变量

如何使用 Laravel 8、Inertia.js 和 Vue3 定义全局变量?

为 Vue 使用 2 个不同的刀片根模板,以及 Laravel 8 和 Inertia?