为什么时刻js不能在挂载的vue组件中工作?

时间:2017-08-09 08:35:57

标签: vue.js vuejs2 momentjs vue-component vuex

当我把时间放在这样的方法上时:

<template> 
    ...
</template>
<script>
    export default{
        ...
        methods:{
            ...
            add(event){
                let current = moment()                  
            }
        }
    }
</script>

然后调用add方法,它可以正常工作。

但是,如果我像这样把时间放在装载上:

mounted(){
   let currentAt = moment()   
}

它不起作用。它返回以下错误:

  

[Vue警告]:挂钩错误:&#34; ReferenceError:时刻不是   定义&#34;

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

由于您使用的是.vue文件,我假设您正在使用webpack生态系统中的vue-loader或其他一些加载器。如果您是,那么您可以执行以下操作:

<script>
 export default{
    import moment from 'moment'
    ...
    methods:{
        ...
        add(event){
            let current = moment()                  
        }
    }
}
</script>

然后,确保执行yarn add momentnpm i -s moment

答案 1 :(得分:2)

如果您在script的开头制作了一个包,则需要import moment from 'moment'

如果您导入HTML中的文件,请在HTML中添加脚本标记:
<script src="moment.js"></script>