Vue中的计算属性介绍

 更新时间:2021年12月03日 11:03:03   作者:huxiaoxiao.  
这篇文章主要介绍了Vue中的计算属性,模板内的表达式,用于简单运算,但是模板中放入太多的逻辑会让模板过重且难以维护,更多具体内容一起进入下面文章学习吧,需要的朋友也可以参考一下

1、什么是计算属性

模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。

例如:

<div id="app">
  {
<!-- -->{ message.split('').reverse().join('') }}
</div>


在这个地方,模板不再是简单的声明式逻辑。而是在插值表达式中直接反转字符串,如果你在多处用到该反转字符串时,这样写就会很麻烦,增加消耗。所以,对于任何复杂逻辑,你都应当使用 计算属性 。

2.计算属性的语法

computed{

函数(){return //必须又返回值。}通常该函数为get函数

}

3.举例

针对上面这个例子,我们可以这样写:

<div id="app">
        <p>原来的字符串:{
<!-- -->{mes}}</p>
        <p>反转后的字符串:{
<!-- -->{reverseMes}}</p>
    </div>
let vm = new Vue({
            el:'#app',
            data:{
                mes:'sayhello'
            },
            computed: {
                reverseMes(){
        // 计算属性中一定要有返回值
                    return this.mes.split('').reverse().join('')
                }
            }
        })


查看结果:

这里我们在vue实例的 computed 计算属性中 定义了一个函数,函数的返回值就是我们需要得到的结果,可以直接在插值表达式中调用,并渲染出来

在举个例子,通过计算属性,让单词的首字母变大写:

<div id="app">
        <p>原字符串:{
<!-- -->{name}}</p>
        <p>首字母大写:{
<!-- -->{toUpperCase}}</p>
    </div>


在vue实例的 computed计算属性中,自定义我们的计算属性,通过获取到字符串第一个字符并把他转为大写,在和拆分后的剩余字符连接:

el:"#app",
            data:{
                name:'tom'
            },

            // 计算属性
computed:{
            // 自定义 计算属性
             toUpperCase(){
                return this.name.charAt(0).toUpperCase().concat(this.name.slice(1,3))
              }
            }

输出结果为:

计算属性还有两个很实用的小技巧容易被忽略: 一是计算属性可以依赖其他计算属性;  二是计算属性不仅可以依赖当前Vue 实例的数据,还可以依赖其他实例的数据,

例如:

<div id="app1"></div>

    <div id="app2">
        {
<!-- -->{reverseMes}}
    </div>
let vm1 = new Vue({
            el:'#app1',
            data:{
                mes:'hello'
            }
        })

        let vm2 = new Vue({
            el:'#app2',
            computed: {
                reverseMes(){
                    // 使用实例 vm1中的data数据中心的 mes 去做反转字符串的操作
                    return vm1.mes.split('').reverse().join('')
                }
            }
        })

查看结果:

实例vm1中的数据,vm2计算属性也可以使用

自定义的计算属性除了可以在插值表达式中使用,还可以在 v-bind: 属性绑定中使用,用来做一些样式的变换等等。

到此这篇关于Vue中的计算属性介绍的文章就介绍到这了,更多相关Vue 计算属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于element的表单组件整理笔记

    关于element的表单组件整理笔记

    这篇文章主要给大家介绍了关于element的表单组件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • vant list组件滚动保留滚动条位置

    vant list组件滚动保留滚动条位置

    这篇文章主要介绍了vant list组件滚动保留滚动条位置,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 解决vue-router 嵌套路由没反应的问题

    解决vue-router 嵌套路由没反应的问题

    这篇文章主要介绍了解决vue-router 嵌套路由没反应的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • VUE渲染后端返回含有script标签的html字符串示例

    VUE渲染后端返回含有script标签的html字符串示例

    今天小编就为大家分享 一篇VUE渲染后端返回含有script标签的html字符串示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件

    Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件

    这篇文章主要介绍了Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • VUE里如何修改element-ui的显示层次与上下间隔

    VUE里如何修改element-ui的显示层次与上下间隔

    这篇文章主要介绍了VUE里如何修改element-ui的显示层次与上下间隔问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue中环境变量的使用与配置讲解

    vue中环境变量的使用与配置讲解

    这篇文章主要介绍了vue中环境变量的使用与配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue 权限管理几种实现方法

    vue 权限管理几种实现方法

    本文主要介绍了vue 权限管理几种实现方法,权限需要前后端结合,前端尽可能的去控制,更多的需要后台判断,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Vue将将后端返回的list数据转化为树结构的实现

    Vue将将后端返回的list数据转化为树结构的实现

    本文主要介绍了Vue将将后端返回的list数据转化为树结构的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 解决vue vite启动项目报错ERROR: Unexpected “\x88“ in JSON 的问题

    解决vue vite启动项目报错ERROR: Unexpected “\x88“ in JSON 的问题

    这篇文章主要介绍了vue vite启动项目报错ERROR: Unexpected “\x88“ in JSON 原因,本文给出出现此类问题的原因所在并给出解决方法,需要的朋友可以参考下
    2022-09-09

最新评论