i have a doubt on a little project that i am developing, i don't want to use custom filters, i just want to use computed filters to output the reverse of a simple text that i defined in my data, at the moment i tried this:
<p>{{someText | reverseFiltered}}</p>
<script>
export default {
data(){
return {
someText: "Apple"
}
},
computed: {
reverseFiltered(){
return this.someText.split("").reverse().join("");
}
}
}
</script>
the output is the same as the data text, no reverse, can you guys explain me how it works, i am a little confused with the computed filter
You have to use directly reverseFiltered
, because you use computedMethod
.
<p>{{reverseFiltered}}</p>
var data = {
message: 'Hello Vue.js!'
}
var demo = new Vue({
el: '#demo',
data(){
return {
someText: "Apple"
}
},
computed: {
reverseFiltered(){
return this.someText.split("").reverse().join("");
}
}
})
<script src="https://vuejs.org/js/vue.min.js"></script>
<div id="demo">
<p>{{reverseFiltered}}</p>
</div>
In your code, you wrote a computed
method, not a filter
.
A Vue.js filter is essentially a function that takes a value, processes it, and then returns the processed value.
Here is an example of filter.
Vue.filter('reverse', function (value) {
return value.split('').reverse().join('')
});
var demo = new Vue({
el: '#demo',
data(){
return {
someText: "Apple"
}
},
computed: {
reverseFiltered(){
return this.someText.split("").reverse().join("");
}
}
});
<script src="https://vuejs.org/js/vue.min.js"></script>
<div id="demo">
<p>{{someText | reverse}}</p>
</div>