美文网首页
2023-01-02_计算属性

2023-01-02_计算属性

作者: 微笑碧落 | 来源:发表于2023-01-09 23:11 被阅读0次

前言

  • 大多数情况下,我们都可以将Vue组件中定义的属性数据直接渲染到HTML元素上
  • 但是有些场景下,属性中的数据并不适合直接渲染,需要处理后再进行渲染。在Vue中,我们通常使用计算属性或侦听器来实现这种逻辑

1.计算属性的定义和使用

  • vue组件的属性分为两种,一种是普通属性,在data(){}中定义。另一种就是计算属性,在computed(){}中定义。
  • 两种属性的使用方法都差不多,都可以用this.prop{{propName}}来在模板中使用。
  • 计算属性强大的地方在于,并不是仅仅计算一遍。。当普通属性有变化的情况下,计算属性会跟着变化。
  • 为了实现计算属性跟着变化这一个功能,可以使用上一章的插值函数,计算属性和插值函数不同点在于,计算属性是普通属性变化的情况下才会重新计算。而插值函数每一次调用都会执行函数。当使用属性直观的时候,就需要使用计算属性,而不是函数。

html示例如下:

<div style="text-align: center;" id="App">
    <h1>{{ count }}</h1>
    <h1>{{ type }}</h1>
    <button @click="clickButton">点击</button>
</div>

vue代码示例如下:

<script>
    const App = {
        data(){
            return {
                count : 0,
            }
        },
        methods: {
            clickButton(){
                ++this.count;
            }
        },
        computed: {
            type(){
                return this.count > 10 ? "大" : "小"
            }
        }
    }
    Vue.createApp(App).mount("#App");
</script>

2.计算属性的赋值

  • 用第一段的方法定义的计算属性是没办法进行set操作的。如果用this.prop = ""进行赋值,会报错:[Vue warn]: Write operation failed: computed property "type" is readonly.
  • 此时就需要用第二种定义方法。
  • 注意get()方法,这个方法才是计算属性反馈给外界的值,也就是不管你如何set()这个计算属性,计算属性的值都是get()方法的返回值。用第一种方法定义的计算属性也是一样的道理。因为计算属性的目的是根据普通属性的变化而变化,所以计算属性的set更多是对普通属性的一种反向操作。
computed:{
    type:{
        get(){
            return this.count > 10 ? "大" : "小";
        },
        set(){
            this.count = 20;
        }
    }
}

相关文章

  • watch和computed的区别

    计算属性Computed: 计算属性通常依赖于其他数据属性。对于依赖属性的任何改变都会触发计算属性的逻辑。计算属性...

  • vue计算属性和侦听器

    祭出demo 计算属性 计算属性缓存vs方法函数 计算属性vs侦听属性 计算属性的setter 侦听器 在这个示例...

  • 7 vue 计算属性

    计算属性 计算属性的复杂属性 set/get

  • 属性和方法

    1、属性 存储属性 延迟存储属性 计算属性 只读计算属性 只有 getter 方法但没有 setter 方法的计算...

  • Vue复习

    Vue的计算属性 计算属性computed

  • swift8——属性

    属性分为计算属性和存储属性 计算属性:用来计算描述计算过程和就算结果的 存储属性:用来定义类和结构体的某些特征; ...

  • 计算属性,以及其和方法、watch侦听器的对比

    计算属性 计算属性,以及其和方法、侦听器的对比 computed(计算属性)性能相对较高,计算属性的结果会被缓存,...

  • 监听器和计算属性的区别watch,computed

    计算属性computed和监听器watch区别?1.能使用计算属性computed的尽量使用计算属性,但是计算属性...

  • vue 计算属性computed

    computed计算属性 对于任何复杂逻辑,你都应当使用计算属性 计算属性中的setter 计算属性默认只有 ge...

  • 【Vue3 从入门到实战 进阶式掌握完整知识体系】004-Vue

    4、数据、方法、计算属性、侦听器 代码 运行结果 计算属性和方法的不同 计算属性:当计算属性依赖的属性发生变化时计...

网友评论

      本文标题:2023-01-02_计算属性

      本文链接:https://www.haomeiwen.com/subject/vnlccdtx.html