计算属性

概念

计算 属性:
1 以后当属性用 
2 只有关联的数据变化,才重新运算 
3 有缓存,数据没有变化,页面再更新,它也不变化

例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <input type="text" v-model="s" >
    <ul>
        <li v-for="str in strList2" v-text="str"></li>
    </ul>
</div>
</body>
<script>
    const app = Vue.createApp({
        data() {
            return {
                s: '',
                strList: ['a', 'ab', 'abc', 'abcd', 'abcde', 'abcdef', 'abcdefg'],
            }
        },
        computed: {
            strList2(){
                return this.strList.filter(item => {
                    //indexOf不存在返回-1,存在返回索引
                    return item.indexOf(this.s) > -1
                })
            }
        }
    })
    app.mount("#app")
</script>
</html>

组合式

<template>
    <div>
        <input type="text" v-model="age">
        <input type="text" v-model="age2">
    </div>
</template>

<script>
    import {ref,computed} from 'vue'
    export default {
        setup(){
            let age = ref(0)
            let age2 = computed({
                get(){
                    return +age.value+1
                },
                set(value){
                   //  输出新修改的值
                    return age.value=value-1
                }
            })
            return{
                age,age2
            }
        }
    }
</script>
posted @ 2022-10-28 14:53  Sherwin_szw  阅读(7)  评论(0编辑  收藏  举报