Home > Web Front-end > Front-end Q&A > Explore how to use Vue.js to implement price summation function

Explore how to use Vue.js to implement price summation function

PHPz
Release: 2023-04-17 10:25:56
Original
1343 people have browsed it

Vue.js is a popular JavaScript framework that provides many powerful tools and features for creating efficient, interactive, and responsive web applications. In this article, we will explore how to use Vue.js to implement the price summation function, allowing users to quickly calculate the total price of an item.

There are many ways to implement the price sum operation in Vue.js, but this article will introduce the following two most commonly used methods:

Method 1: Use computed

In Vue.js, the computed attribute is used to calculate data and return the result. We can use computed to calculate the total price of all items.

First, we need to define a data attribute in the Vue instance, which stores the price and quantity of the product:

new Vue({
  el: "#app",
  data: {
    products: [
      { name: "商品1", price: 10, quantity: 1 },
      { name: "商品2", price: 20, quantity: 2 },
      { name: "商品3", price: 30, quantity: 3 }
    ]
  },
  computed: {
    totalPrice: function() {
      var total = 0;
      this.products.forEach(function(product) {
        total += product.price * product.quantity;
      });
      return total;
    }
  }
});
Copy after login

In this example, we define a products array, which contains Three commodities, each commodity has name, price and quantity attributes.

Next, we define a computed attribute, totalPrice, which is used to calculate the sum of the prices of all items. When calculating totalPrice, we use the forEach method to iterate over the products array and multiply the price of each item by the quantity, adding up to the total variable.

Finally, we return the value of the total variable to display the total price in the HTML template:

<div id="app">
  <ul>
    <li v-for="product in products">
      {{ product.name }} - {{ product.price }} * {{ product.quantity }} = {{ product.price * product.quantity }}
    </li>
  </ul>
  <p>总价: {{ totalPrice }}</p>
</div>
Copy after login
Copy after login

In the template, we use the v-for directive to iterate over the products array and output each item name, price and quantity. We also use interpolation syntax in the template to display the total price of each item, and use {{ totalPrice }} to output the total price of all items.

Method 2: Use watch

The watch attribute in Vue.js is used to monitor data changes and perform operations when the data changes. We can use watch to monitor price changes of all items and update the total price.

First, we need to define a data attribute in the Vue instance, which stores the price and quantity of the product:

new Vue({
  el: "#app",
  data: {
    products: [
      { name: "商品1", price: 10, quantity: 1 },
      { name: "商品2", price: 20, quantity: 2 },
      { name: "商品3", price: 30, quantity: 3 }
    ],
    totalPrice: 0
  },
  watch: {
    products: {
      handler: function() {
        var total = 0;
        this.products.forEach(function(product) {
          total += product.price * product.quantity;
        });
        this.totalPrice = total;
      },
      deep: true
    }
  }
});
Copy after login

In this example, we define a products array, which contains three Products, each product has name, price and quantity attributes. We also define a totalPrice variable that stores the total price of all items.

Next, we define a monitor to detect changes in the products array. When the array changes, the monitor will run a forEach loop to calculate the sum of the prices of all items. It will then update the totalPrice variable to reflect the new sum of all item prices.

In the HTML template, we use interpolation syntax to display the name, price and quantity of each item, and use {{ totalPrice }} to output the total price of all items.

<div id="app">
  <ul>
    <li v-for="product in products">
      {{ product.name }} - {{ product.price }} * {{ product.quantity }} = {{ product.price * product.quantity }}
    </li>
  </ul>
  <p>总价: {{ totalPrice }}</p>
</div>
Copy after login
Copy after login

Summary

In this article, we introduced two common methods to implement price summation function using Vue.js: computed and watch. computed is often used to calculate the value of attributes, and watch is often used to change responsive data. No matter which approach you take, Vue.js is a convenient, fast, and concise tool that helps you create powerful web applications.

The above is the detailed content of Explore how to use Vue.js to implement price summation function. For more information, please follow other related articles on the PHP Chinese website!

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