Home Web Front-end Front-end Q&A How to set attributes of computed in vue

How to set attributes of computed in vue

Mar 31, 2023 pm 01:53 PM

In Vue, computed is a very powerful feature that allows us to derive some new property values ​​by calculating properties. In most cases, the computed property is used to calculate some value rather than modify the value. However, in some special cases, we may need to set the computed property to a new value. So, in Vue, how can the computed property be set? Next, this article will answer them one by one for you.

1. Basic usage of computed attribute

Let’s first look at the basic usage of computed attribute. The computed attribute is actually an attribute with get and set methods. Among them, the get method is used to calculate the value of the attribute, and the set method is used to set the value of the attribute. Here is an example:

computed: {
  fullName: {
    get: function() {
      return this.firstName + ' ' + this.lastName;
    },
    set: function(newValue) {
      var names = newValue.split(' ');
      this.firstName = names[0];
      this.lastName = names[names.length - 1];
    }
  }
}
Copy after login

In the above code, we define a calculated property fullName, whose value is a combination of firstName and lastName. In the get method, we calculate the value of fullName by concatenating firstName and lastName. In the set method, we modify the original attribute value by splitting the new fullName value into firstName and lastName and then setting their values ​​at the same time.

2. Notes on the set method of the computed attribute

Although the set method of the computed attribute seems useful, it also has some things to pay attention to. The more important points are the following:

  1. Since the computed attribute is basically read-only, when setting the attribute, you need to ensure that the set value will not affect other places.
  2. Since the computed attribute itself does not store a value, when setting the attribute, you need to ensure that the set value is correct the next time you get it.

3. Practical application examples

Below we use actual application examples to demonstrate how to set the computed attribute.

First, we define a component with a calculated attribute totalPrice, whose value is the product price multiplied by the product quantity, that is, totalPrice = price * quantity. We can use the following code to implement this calculated property:

<template>
  <div>
    <p>单价:{{ price }}</p>
    <p>数量:<input v-model="quantity"></p>
    <p>总价:{{ totalPrice }}</p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        price: 10,
        quantity: 2
      }
    },
    computed: {
      totalPrice: {
        get() {
          return this.price * this.quantity
        },
        set(newValue) {
          this.quantity = newValue / this.price
        }
      }
    }
  }
</script>
Copy after login

In the above code, we first define a component that contains a calculated property totalPrice. In the get method, we use price and quantity to calculate the total value; in the set method, we use newValue and price to calculate the new quantity value, and then update the data to update the DOM.

Now, if we want to set the total price, rather than the quantity or price, we can do this:

this.totalPrice = 20;
Copy after login

This will automatically modify the value of quantity so that the total price is equal to 20. If we want the unit price multiplied by the quantity to equal the total price, rather than automatically allocating the quantity when the total price is set, we can modify the logic in the set method as follows:

set(newValue) {
  this.price = newValue / this.quantity
}
Copy after login

In this way, we can pass Set the total price to modify the unit price value.

In general, the computed attribute is indeed a very powerful feature, but there are many things that need to be paid attention to. In actual use, we need to use the set method of computed attributes carefully according to the situation to avoid unnecessary problems.

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

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

React's Role in HTML: Enhancing User Experience React's Role in HTML: Enhancing User Experience Apr 09, 2025 am 12:11 AM

React combines JSX and HTML to improve user experience. 1) JSX embeds HTML to make development more intuitive. 2) The virtual DOM mechanism optimizes performance and reduces DOM operations. 3) Component-based management UI to improve maintainability. 4) State management and event processing enhance interactivity.

React and the Frontend: Building Interactive Experiences React and the Frontend: Building Interactive Experiences Apr 11, 2025 am 12:02 AM

React is the preferred tool for building interactive front-end experiences. 1) React simplifies UI development through componentization and virtual DOM. 2) Components are divided into function components and class components. Function components are simpler and class components provide more life cycle methods. 3) The working principle of React relies on virtual DOM and reconciliation algorithm to improve performance. 4) State management uses useState or this.state, and life cycle methods such as componentDidMount are used for specific logic. 5) Basic usage includes creating components and managing state, and advanced usage involves custom hooks and performance optimization. 6) Common errors include improper status updates and performance issues, debugging skills include using ReactDevTools and Excellent

React Components: Creating Reusable Elements in HTML React Components: Creating Reusable Elements in HTML Apr 08, 2025 pm 05:53 PM

React components can be defined by functions or classes, encapsulating UI logic and accepting input data through props. 1) Define components: Use functions or classes to return React elements. 2) Rendering component: React calls render method or executes function component. 3) Multiplexing components: pass data through props to build a complex UI. The lifecycle approach of components allows logic to be executed at different stages, improving development efficiency and code maintainability.

React's Ecosystem: Libraries, Tools, and Best Practices React's Ecosystem: Libraries, Tools, and Best Practices Apr 18, 2025 am 12:23 AM

The React ecosystem includes state management libraries (such as Redux), routing libraries (such as ReactRouter), UI component libraries (such as Material-UI), testing tools (such as Jest), and building tools (such as Webpack). These tools work together to help developers develop and maintain applications efficiently, improve code quality and development efficiency.

React and the Frontend Stack: The Tools and Technologies React and the Frontend Stack: The Tools and Technologies Apr 10, 2025 am 09:34 AM

React is a JavaScript library for building user interfaces, with its core components and state management. 1) Simplify UI development through componentization and state management. 2) The working principle includes reconciliation and rendering, and optimization can be implemented through React.memo and useMemo. 3) The basic usage is to create and render components, and the advanced usage includes using Hooks and ContextAPI. 4) Common errors such as improper status update, you can use ReactDevTools to debug. 5) Performance optimization includes using React.memo, virtualization lists and CodeSplitting, and keeping code readable and maintainable is best practice.

Frontend Development with React: Advantages and Techniques Frontend Development with React: Advantages and Techniques Apr 17, 2025 am 12:25 AM

The advantages of React are its flexibility and efficiency, which are reflected in: 1) Component-based design improves code reusability; 2) Virtual DOM technology optimizes performance, especially when handling large amounts of data updates; 3) The rich ecosystem provides a large number of third-party libraries and tools. By understanding how React works and uses examples, you can master its core concepts and best practices to build an efficient, maintainable user interface.

React vs. Backend Frameworks: A Comparison React vs. Backend Frameworks: A Comparison Apr 13, 2025 am 12:06 AM

React is a front-end framework for building user interfaces; a back-end framework is used to build server-side applications. React provides componentized and efficient UI updates, and the backend framework provides a complete backend service solution. When choosing a technology stack, project requirements, team skills, and scalability should be considered.

Understanding React's Primary Function: The Frontend Perspective Understanding React's Primary Function: The Frontend Perspective Apr 18, 2025 am 12:15 AM

React's main functions include componentized thinking, state management and virtual DOM. 1) The idea of ​​componentization allows splitting the UI into reusable parts to improve code readability and maintainability. 2) State management manages dynamic data through state and props, and changes trigger UI updates. 3) Virtual DOM optimization performance, update the UI through the calculation of the minimum operation of DOM replica in memory.

See all articles