2

Я использую Vue.js с Laravel с Elixir и Browserify. Я хочу зарегистрировать некоторые настраиваемые глобальные фильтры, каждый в своем собственном файле. Я пытался следить за документами, но я не могу заставить его работать. Это ошибка, которую я получаю:Регистрация пользовательских фильтров с vue.js

Uncaught ReferenceError: Vue is not defined 

Любые идеи?

Вот мой код:

Vue/фильтры/reverse.js

Vue.filter('reverse', function (value) { 
return value.split('').reverse().join('') 
}) 

вю/app.js

var Vue = require('vue'); 
Vue.use(require('vue-resource')); 

new Vue({ 
    el: 'app', 
    data: { 
     test: 'abcde' 
    }, 
filters: { 
    reverse: require './filters/reverse.js' 
} 

}); 

Посмотреть

<h1 v-text="test | reverse"></h1> 

Если добавить этот в reverse.js, он все еще не работает

var Vue = require('vue'); 

И мой gulpfile

mix.browserify('app.js'); 
+0

Где вы включаете скрипты в свой шаблон клипа? Кроме того, можете ли вы поделиться соответствующими строками кода с вашим gulpfile? –

+1

Что делать, если вы используете: вместо этого требуется «./filters/reverse.js»? – Roadirsh

+0

К сожалению, это была опечатка. Я на самом деле хотел написать «./filters/reverse.js» –

ответ

6

Попробуйте, как это в VUE/фильтры/reverse.js

module.exports =(function (value) { 
    return value.split('').reverse().join('') 
}) 

, а затем в ваших app.js

Vue.filter('reverse', require('./filters/reverse')) 
+0

@ Michalis Antoniou - это не то, что вы хотите? Если вы не хотите, чтобы он был глобальным, просто добавьте круглые скобки вокруг имени вашего файла, который должен работать как 'reverse: require ('./filters/reverse.js')' – arecaps

 Смежные вопросы

  • Нет связанных вопросов^_^