[Я использую последние vue 2.x, vuex, и vue-cli 3]
Я пытаюсь использовать Mixin внутри фильтра Vue следующим образом, чтобы преобразовать эту строку
/Дата (1546329600000)/
что я получаю с сервера в дате java-script (следующий код находится в моем файле main.js, прямо перед тем, как я создаю экземпляр Vue):
// Mixins:
Vue.mixin({
methods: {
parseDateTicks: str => str.replace("/Date(", "").replace(")/", "")
}
});
// Filters:
Vue.filter('dateTime', (date) => {
if(date){
//date = date.replace("/Date(", "").replace(")/", "");
date = this.parseDateTicks(date);
return new Date(+date).toLocaleString();
}
else{
return '';
}
});
Часть, которая не работает,
date = this.parseDateTicks(date);
и я получаю следующую ошибку:
Error in render: "TypeError: Unable to get property 'parseDateTicks' of undefined or null reference"
Это невозможно в Vue.js?
Вы не можете получить доступ к этому фильтру. Фильтры должны быть чистыми функциями. Источник