第一步:安装
npm 安装moment,文件根目录下安装,指令如下
npm install moment -save
第二步:引入
在组件中引用和使用,其中nuxt不能像vue一样将moment改写为Vue的原型属性,所以你想使用moment就得在每个组件中引用一次
import moment from "moment";
第三步:使用
如果直接使用
这里的item.created_at,是我当时写的遍历出来数组的时间
{{moment(item.created_at).format('MMMM Do YYYY, h:mm:ss a')}}
就会出现这个错误
[Vue warn]: Property or method "moment" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.
属性或方法“moment”不是在实例上定义的,而是在渲染期间引用的。通过初始化该属性,确保该属性是反应性的,无论是在data选项中,还是在基于类的组件中。
直接在data中定义moment也可以,但是出来的是中文的
所以可以在methods中封装一个方法(还可以设置成中文):
methods: {
format(time, rule) {
return moment.locale("zh-cn"), moment(time).format(rule);
},
},
然后调用
{{ format(item.created_at, "lll") }}
因为nuxt是在服务器就已经渲染了,而moment是在服务器渲染,出现了异步,所以报错