Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vuejs2项目中矩.js的全局区域设置_Vuejs2_Momentjs - Fatal编程技术网

vuejs2项目中矩.js的全局区域设置

vuejs2项目中矩.js的全局区域设置,vuejs2,momentjs,Vuejs2,Momentjs,在每个组件中,我在每个创建的钩子中设置了区域设置: ... created () { moment.locale('nl') } ... 这是否可能在一个点上完成,从而为所有组件制定规则 我正在使用vue网页包模板。您可能需要使用对象。definePrototype。将下面的代码插入您的条目js文件(src/main.js在网页包模板中) import moment from 'moment'; // ... moment.locale('nl'); Object.defineProtot

在每个组件中,我在每个创建的钩子中设置了区域设置:

...
created () {
  moment.locale('nl')
}
...
这是否可能在一个点上完成,从而为所有组件制定规则


我正在使用vue网页包模板。

您可能需要使用
对象。definePrototype
。将下面的代码插入您的条目js文件(
src/main.js
在网页包模板中)

import moment from 'moment';
// ...
moment.locale('nl');
Object.definePrototype(Vue.prototype, '$moment', { value: moment });
然后,您将能够在每个组件中使用矩作为
this.$moment()


此解决方案是,我认为它完全符合您的要求。

在VUE 2.5中可以这样做:

/* IN MAIN FILE */ 
import Moment from 'moment' 
Moment.locale(lang)
Vue.prototype.$moment = Moment
/* INSIDE A COMPONENT */
console.log(this.$moment().format("LL"))

谢谢,我剪掉了上面的工作,但我为它创建了一个插件。感谢您的时间。虽然此代码可能(也可能不会)解决问题,但一个好的答案还应该解释问题所在以及此代码的帮助方式。在给定条件下,这将不适用于作者
...
created () {
  this.$root.$moment.locale("nl");
}
...