【问题标题】:Why is moment js not working in mounted vue component?为什么时刻 js 在已安装的 vue 组件中不起作用?
【发布时间】:2018-01-17 01:00:30
【问题描述】:

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

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

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

但如果我像这样在挂载上放置时刻:

mounted(){
   let currentAt = moment()   
}

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

[Vue 警告]:挂载钩子错误:“ReferenceError: moment is not 定义”

我该如何解决这个问题?

【问题讨论】:

  • 显示包含脚本标签的 HTML。

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


【解决方案1】:

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

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

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

【讨论】:

  • 我认为import moment from 'moment'需要在export default{之前
【解决方案2】:

如果你做一个bundle,在script的开头,你需要import moment from 'moment'

如果您在 HTML 中导入文件,请在 HTML 中添加脚本标记:
&lt;script src="moment.js"&gt;&lt;/script&gt;

【讨论】:

    猜你喜欢
    • 2018-04-23
    • 1970-01-01
    • 2018-02-11
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多