В моем приложении laravel 5.7 / vuejs 2.5 я использую библиотеку моментов для форматирования даты и времени из db. Она работает в моем компоненте, но у меня возникает ошибка при попытке обернуть момент в моем микшировании как функцию с параметрами.package.json:
{
"private": true,
"devDependencies": {
"axios": "^0.18",
"vue": "^2.5.17"
...
},
"dependencies": {
"vue-moment": "^4.0.0",
"vue-router": "^3.0.1",
"vuex": "^3.0.1"
...
}
}
В ресурсах / js / app.js:
import Vue from 'vue';
...
import moment from 'vue-moment'
Vue.use(moment)
В моем компоненте:
<template>
...
<hr>
<!-- THIS LINE WORKS OK-->
<span>{{ nextCategory.created_at | moment("dddd, MMMM Do YYYY") }}</span>;
<hr>
<!-- {{ momentDatetime(nextCategory.created_at,'Do MMMM, YYYY h:mm:ss A') }} -->
...
</template>
<script>
import {bus} from '../../app';
import appMixin from '../../appMixin';
export default {
name: 'list',
mixins: [appMixin],
</script>
Но если раскомментировать последнюю строкуЯ получил ошибку
[Vue warn]: Error in render: "TypeError: __WEBPACK_IMPORTED_MODULE_0_vue_moment___default(...) is not a function"
и в resources / js / appMixin.js:
import moment from 'vue-moment'
export default {
methods: {
...
momentDatetime(datetime, datetime_format, default_val) {
return moment(datetime).format(datetime_format);
},
...
Я нашел это решение с помощью метода «.format» в сети, но похоже, что оно недопустимо,Какой правильный путь?
Спасибо!