VueJS多个混音

时间:2016-05-15 19:26:21

标签: javascript vue.js

我的脚本中有一个错误,我不知道要修复。我想导入我创建的多个mixins。

import GoogleMaps from '../mixins/GoogleMaps.js';
import MFApi from '../mixins/MFApi.js';

    export default {
        template: require('../templates/map.html'),
        mixins: [GoogleMaps, MFApi],
(...)

但这似乎不起作用。如果mixins变量不止一个,我怎么需要正确设置?

只要我将新的mixin添加到变量中,第一个就不再被识别了。

2 个答案:

答案 0 :(得分:3)

这确实是正确的方法,我每天都这样做。如果你说mixin'无法识别',那是什么意思。也许你在BOTH mixins中有一个同名的方法或属性 - 在这种情况下,你有一个冲突,最后传递的冲突方法/属性将存活,在编译vue实例时覆盖前一个。

答案 1 :(得分:0)

也许您有这样的情况。如果要导出命名模块,而不仅仅是默认情况下,则需要使用花括号将其导入。

在我的mixin文件夹中,有“ regExpressions.js”文件:

export const convertImage = {
  methods: {
   ...your methods here
  }
}

和“ truncateString.js”文件:

export default {
  methods: {
   ... your code here
  }
}

在我的组件中,导入我的mixins。

import { convertImage } from "@/mixins/regExpressions";
import truncateString from "@/mixins/truncateString";

mixins: [truncateString, convertImage]