Home > Web Front-end > JS Tutorial > body text

How to use calculated properties in vue

亚连
Release: 2018-06-22 17:24:10
Original
1618 people have browsed it

This article mainly introduces the use of vue computed properties and method examples of vue instances. The editor thinks it is quite good. Now I will share it with you and give it a reference. Let’s follow the editor and take a look.

This article introduces the use of vue calculated properties and examples of methods of vue instances. I would like to share them with you. The details are as follows:

Computed properties

Expressions are very convenient in templates, but they are really only used for simple operations. Templates are used to describe the structure of views. Putting too much logic into a template can make it overweight and difficult to maintain. That's why Vue.js limits binding expressions to one expression. If the logic of more than one expression is required, computed properties should be used.

vue computed properties

When we want to return the value of a property based on the execution result of one end of the business code, we can use the computed property computed,

Computed property is a function with results. It has get method and set method. The get method must have a return value and must have a return value.

<script src="lib/vue.js"></script> 
 
<body> 
<p id="box"> 
  a = >{{a}} 
  b = > {{b}} 
</p> 
</body> 
<script> 
  var vm = new Vue({ 
    el:&#39;#box&#39;, 
    data:{ 
      a:1 
    }, 
    computed:{ 
      b:function () { 
        //业务代码 
        return this.a+1; 
      } 
    } 
  }); 
  /**这样直接改属性的值不行的,需要调用计算属性的set方法**/ 
  document.onclick = function(){ 
    vm.b = 3; 
  }; 
</script>
Copy after login

The set/get method of calculated property:

<script src="lib/vue.js"></script> 
 
<body> 
<p id="box"> 
  a = >{{a}} 
  b = > {{b}} 
</p> 
</body> 
<script> 
  var vm = new Vue({ 
    el:&#39;#box&#39;, 
    data:{ 
      a:1 
    }, 
    computed:{ 
      b:{ 
        get:function () { 
          return this.a+1; 
        }, 
        set:function(val){ 
          this.a = val; 
        } 
      } 
    } 
  }); 
  /**这样直接改属性的值不行的,需要调用计算属性的set方法**/ 
  document.onclick = function(){ 
    vm.b = 3; 
    //默认调用计算属性的set方法 
  }; 
</script>
Copy after login

Simple method of vue instance

vm is the name of the created vue instance object

vm.$el -> is the element

vm. $data -> is data

vm.$mount -> Mount the vue object on the node object

For example:

var vm2 = new Vue({ 
    data:{}, 
    methods:{} 
  }).$mount(&#39;#box&#39;);
Copy after login

is equivalent to:

var vm2 = new Vue({ 
    el:&#39;#box&#39;, 
    data:{}, 
    methods:{} 
  });
Copy after login

vm.$options -> Get custom properties, custom methods

Vue instances can customize properties and methods. If you need to call them, you need to call $options. For example:

var vm2 = new Vue({ 
   aa:&#39;1&#39;,//自定义属性 
   show:function () { 
     alert(1); 
   }, 
   el:&#39;#box&#39;, 
   data:{}, 
   methods:{} 
 }); 
 vm2.$options.show(); 
 console.log(vm2.$options.aa);
Copy after login

vm.$destroy -> Destroy the object

vm.$log(); -> Check the current status of the data

The above is what I compiled for everyone, I hope It will be helpful to everyone in the future.

Related articles:

How to use the swiper component to implement image switching display in WeChat Mini Program

How to implement circular advertising in javascript Article

About the debugging tool vue-devtools (detailed tutorial) in Vue

The above is the detailed content of How to use calculated properties in vue. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template