vuejs将全局混合放入单独的文件中



我想在一个单独的文件中创建一个全局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

有人知道问题出在哪里吗?

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

它应该是:

export default {...}

或者:

const mixin_test = {...}
export default mixin_test;

最新更新