vue里computed的get和set

computed里的对象有get和set方法。

get是当该对象所依赖的变量发生变化是执行,重新returncomputed结果。

set是该对象的值变化时会执行,并且将变化的结果作为参数传进set里。然后可以根据传进的值来处理

    <div id="app">
        <p>price: <input type="text" v-model=‘price‘>{{price}}</p>
        <p>mount: <input type="text" v-model=‘mount‘></p>
        <p>toltal: {{calculate}} </p>
        <button v-on:click=‘change‘>changePrice</button>//当改变了calculate的值得时候,会执行calculate的set方法,且传入参数

    </div>
    <script src="vue.js"></script>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                price: 0,
                mount: 0,

            },
          methods:{
           change:function(){
               this.calculate = 100;
           }

          },
          computed:{
            calculate:{//这个calculate不能是函数而是对象了。
                get: function(){
                    alert(‘get执行了‘)//页面渲染时会执行一次get来获取calculate的值
                    return this.price * this.mount
                },
                set:function(value){
                    alert(‘set执行了‘);
                    this.price = 10;
                    this.mount = 10
                }
            }
          }
        })

原文地址:https://www.cnblogs.com/dangdanghepingping/p/10162404.html

时间: 2024-08-04 13:35:21

vue里computed的get和set的相关文章

vue里computed的set和get方法

computed里的方法其实是默认使用了get方法例如 computed: { editData () { return this.value } } // 相当于 computed: { editData: { get () { return this.value } } } 如果对计算属性设置值,就会调用计算属性的set方法 computed: { editData: { get () { return this.value }, set (v) { this.$emit('input',

vue里的渲染以及computed的好处

如果vue里的某个methods函数执行,导致页面重新渲染,那么所有的methods函数会重新执行以及时的渲染页面 但是大量函数的重新没有必要的执行会导致性能的下降, 此时如果把没有必要再次执行的方法定义到computed里,那么这些没有必要执行的方法就不会被渲染页面时候执行. 只有在computed函数所依赖的数据变化时候才会被执行 1 <div id="app"> 2 <div></div> 3 <p>{{num}}</p>

vue里的数据

背景: 一个项目完工在即,鉴于此,前端使用了vue,写下此栏,以供日后翻阅, 会涉及到我所运用到的vue相关知识,需要一定的js基础. 默认vue的single-file-components(单文件组件开发)既sfc. 本文主题 vue里数据的处理 存放数据 我们先看vue里哪里能存放数据: 1.单个vue文件里.2.官方插件vuex,作为一个集中管理经常复用的数据很有用.3.直接声明在vue实例上,用$号标识. 第一种情况下存放数据对于单个文件又分这几种属性1.1 data(常规使用,默认函

vue里面的get、post和jsonp

使用vue里面的get可以获取文件数据,当获取文件数据的使用的用法是 使用get获取php文件执行结果时就是在前面的案例的get方法中传入php文件,然后设置和php相对应的数据,如下 js代码 php代码 需要注意的是,php文件中,方括号里面的名称才是与js里面的名称一致,如图所示 post使用方法与get基本相似,就是在此基础上添加一个数据:emulateJSON: true 演示结果如下图所示 post方法的php代码 需要注意的是,粗看之下,连个php文件差异不大,但是php文件里面分

vue里操作DOM

一般来说你要在vue里操作DOM,要先在标签里加上ref="",如下: <h2 ref="s" @click="sss">Essential Links</h2> 然后在点击的事件sss写下你想要的效果代码:(注意的是上面的ref的s,要写在下面this.$refs,不要忘了) methods: { sss() { this.$refs.s.style.color = "blue"; } } 如果你想要

《vue里用vux写移动端搭建环境》

vue里用vux写移动端搭建环境 一,序言 最近一直在看vue,越看越觉得有意思,由于工作需要,了解了一下vux,发现是个强大好用的UI组件库,以前用过vant,iview,其它的组件库目前还没发现,也还没用过,如果各位有好用的大方分享出来喔 ~    一起学习,一起进步!下面进入正题,vux的配置环境. 二,vux安装环境 1.安装vux npm install vux --save-dev ( 如果是3.0+的脚手架,那么可以直接在终端输入vue ui打开ui界面去安装依赖会更加方便!) 2

vue里store被意外修改

还是接着上次那个接手的项目,还是那里面的bug.还是在编辑信息的时候,用户信息是存在store里的,从个人中心页面点击编辑按钮到编辑页面,此时是正常的,但是如果在编辑页面修改了东西,没有保存,按道理来说下次进入编辑界面的时候是不应该保持上一次编辑的信息的.于是我翻看了代码里绑定数据的对象,果然,有一句代码引起了我的注意: 这句看似平常的一句代码,实际却“暗藏杀机”,打印了一下每次执行这句话之前infos的值,发现只要编辑了表单,store里infos的值也被改了,vue-store的官网上明确的

vue里面的v-for列表循环

列表渲染 v-for v-for可以把数据中的一个数组对应为一组元素v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名. <li v-for="item in items">{{item.text}}</li> data:{ items:[ {text:"第一组"}, {text:"第二组"}, {text:"第三组"},

vue 里filter的基本用法

filter是和data  computed   methods watch一样,都是new Vue()的参数. 用于对简单数据的处理,和computed有冲突,所以从vue2.0后就对filter做了删减,我觉得没有filter完全能够用其他方法比如computed来实现 用在{{ 变量1 | 变量2 }} 或者 v-bind:xx="  变量1 | 变量2([参数) "  两种:其中变量1是data的k,变量2是filter的k, filter:{ 变量2:function(变量1