1

我想创建一个单独的文件中的全局混合。我在网上看到的所有教程总是将 mixin 放在同一个文件中,或者不解释如何导入另一个文件。

如果 mixin 都在同一个文件中,那么它们就没有任何意义,所以必须有某种方法可以从不同的文件中加载它们,对吧?

这是我的测试 mixin_test.js:

export default mixin_test = {
    
    methods: {
        test: function( msg )
        {
            console.log( msg );
        }
    }
}

在 app.js 我有以下内容:

...
import mixin_test from "./mixin_test.js";
...

在我的组件中:

export default {
    name:"something",
    
    mixins: [mixin_test],
    
    mounted(){
        this.test( "hello world" );
    }
}

如果我在网络浏览器中打开页面,我会收到错误消息:

Uncaught ReferenceError: assignment to undeclared variable mixin_test

有谁知道问题是什么?

4

1 回答 1

2

default导出与命名导出不同,不需要指定名称。defaultexport 是一个表达式。export default mixin_test = ...与 相同console.log(mixin_test = ...),这将导致分配给不存在的mixin_test变量。

它应该是:

export default {...}

或者:

const mixin_test = {...}
export default mixin_test;
于 2021-11-08T16:01:40.770 回答