vue3.js
总结: 此处涉及的vue3新特性<br /> 1, vue3废除了过滤器,不再支持其语法<br /> 2, vue3中实现数据过滤建议使用计算属性代替<br /> 3, vue3中在setup函数中使用Vue.computed()定义计算属性
<body>
<script src='./vue3.js'></script>
<div id='myApp'>
<button @click="count++">
{{count}}-{{count2}}-{{count | countFilter}}-{{count3}}-{{countFilter}}
</button>
</div>
<script>
var vm = {
computed:{
count2(){
// setup中return的响应式数据在组件中用this调用即可
console.log(this.count)
return this.count * 2
}
},
// vue3语法中废除了过滤器, 不再支持过滤器语法
filters: {
countFilter(data){
return `(${data})`
}
},
setup() {
const count = Vue.ref(0);
// vue3使用Vue.computed()定义计算属性, 参数是计算函数,返回值是计算结果
var count3 = Vue.computed(()=>{
return count.value * 3
})
// vue3推荐使用计算属性代替过滤器
var countFilter = Vue.computed(()=>{
return `(${count3.value})`
})
return{
count, count3, countFilter
}
}
}
Vue.createApp(vm).mount('#myApp')
</script>
</body>