1、app.vue 使用methods实现:
<template>
<div>
{{ uppercase(message) }}
<h3>
<h3 :x="mySlice(msg)">Title</h3>
</h3>
</div>
</template>
<script>
export default {
data() {
return {
message: "Hello World",
time: 1621561377603,
msg: "你好啊,CSDN!!!",
};
},
methods:{
mySlice(value) {
return value.slice(0, 7);
},
uppercase(value) {
return value.toUpperCase();
}
}
};
</script>
2、使用filters配合computed计算属性实现:
<template>
<div>
{{ filteredMessage }}
</div>
</template>
<script>
export default {
data() {
return {
message: 'Hello World'
};
},
computed: {
filteredMessage() {
return this.$options.filters['myfilter'](this.message);
}
},
filters: {
myfilter(value) {
return value.slice(0, 4);
}
}
};
</script>
3、引入其他组件FilterFix.vue实现:
app.vue
<template>
<div>
{{ nself }}
<FilterFix/>
</div>
</template>
<script>
import FilterFix from './components/FilterFix.vue'
export default {
name: 'App',
data() {
return {
message: "Hello World!!!",
};
},
components: {
FilterFix,
},
computed: {
nself() {
return this.$options.filters['myfilter'](this.message);
},
},
filters: {
myfilter(value) {
return value.slice(0, 7);
},
},
};
</script>
FilterFix.vue
<template>
<div>
{{ $options.filters.myfilter(message) }}
</div>
</template>
<script>
export default {
name: "filter-fix",
data() {
return {
message: "Hello World!!!",
};
},
filters: {
myfilter(value) {
return value.slice(0, 9);
},
},
};
</script>
main.js
import Vue from 'vue'
import App from './App.vue'
new Vue({
render: h => h(App)
}).$mount('#app')