Master the Vue 3 Composition API to build shopping list applications
This article will demonstrate how to build a shopping list application using the Vue 3.0 Composition API and explain its advantages to make its code easier to read and maintain. The Composition API, as an optional new way of creating and organizing components in Vue 3, makes the definition of responsive component logic more intuitive by grouping all code for specific functions (such as search). This will make your application more scalable and reusable.
Core points:
- Vue 3.0 Composition API provides easier access and more intuitive way to define responsive component logic, making applications more scalable and reusable.
- Composition API can be installed globally or imported into specific components on demand.
- Use the Composition API to build shopping list applications to add and remove items. The application status and its methods are defined in the
setup
method. - Composition API improves how methods and component states are handled to make them more accessible and responsive. It can be used in conjunction with the Options API and provides more flexible and responsive state for better state management.
Preparation:
You need the basics of HTML, CSS, JavaScript and Vue, as well as text editors, web browsers, Node.js and Vue CLI.
Set Vue app:
- Global installation of Vue CLI:
npm install -g vue-cli
- Create a project:
vue create vueshoppinglist
- Enter the project directory and start the development server:
cd vueshoppinglist npm run serveThe
application will run in localhost:8080
.
Installing and using Composition API:
- Installing Composition API:
npm install --save @vue/composition-api
- Register globally in
src/main.vue
Composition API:
import Vue from 'vue' import App from './App.vue' import VueCompositionApi from '@vue/composition-api' Vue.config.productionTip = false Vue.use(VueCompositionApi) new Vue({ render: h => h(App), }).$mount('#app')
Build user interface:
Create a component named ShoppingList.vue
(located in the src/components
directory) and add the following code:
<template> <div> <div class="form-container"> <h2>我的購物清單</h2> <form @submit.prevent="addItem"> <div> <label>商品名稱</label><br> <input v-model="state.input" type="text"> </div> <div> <button type="submit" class="submit">添加商品</button> </div> </form> </div> <div class="list-container"> <ul> <li v-for="(item, index) in state.items" :key="index"> {{ item }} <span @click="removeItem(index)" style="float:right;padding-right:10px;">X</span> </li> </ul> </div> </div> </template> <??> <style scoped> /* CSS樣式 */ </style>
Then, import and use the App.vue
component in ShoppingList.vue
.
Summary:
We have built a simple shopping list app using the Vue 3 Composition API. The application of Composition API in Vue 2 is also worth paying attention to. Its main advantages are more accessible methods and component state processing, as well as its responsive characteristics.
FAQ: (Simplified, avoid duplication)
This version has made a more streamlined rewrite of the original text and maintained the image position and format. The point is to organize and comment the code sections more clearly to make them easier to understand. At the same time, the article structure has also been adjusted to make it more smooth and easy to read.
The above is the detailed content of Build a Shopping List App with the Vue 3.0 Composition API. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations.

If JavaScript applications load slowly and have poor performance, the problem is that the payload is too large. Solutions include: 1. Use code splitting (CodeSplitting), split the large bundle into multiple small files through React.lazy() or build tools, and load it as needed to reduce the first download; 2. Remove unused code (TreeShaking), use the ES6 module mechanism to clear "dead code" to ensure that the introduced libraries support this feature; 3. Compress and merge resource files, enable Gzip/Brotli and Terser to compress JS, reasonably merge files and optimize static resources; 4. Replace heavy-duty dependencies and choose lightweight libraries such as day.js and fetch
