Table of Contents
Instruction classification
1. Content rendering instructions
2. Attribute binding instructions
3. Event binding instructions
4. Two-way binding instructions
五、条件渲染指令
六、列表渲染指令
Home Web Front-end Vue.js Getting started with Vue instructions: Let's talk about the six commonly used built-in instructions

Getting started with Vue instructions: Let's talk about the six commonly used built-in instructions

Jun 09, 2022 pm 12:06 PM
vue vue.js

This article will take you through the Vue instructions and introduce the six commonly used built-in instructions in Vue. I hope it will be helpful to everyone!

Getting started with Vue instructions: Let's talk about the six commonly used built-in instructions

Instruction classification

Directives are the template syntax provided by vue for developers. The basic structure used to assist developers in rendering pages. (Learning video sharing: vuejs video tutorial)

The data used is defined in the data of the instance, and the event is defined in the methods of the instance Medium

  • Content rendering instructions: Assist developers to render the text content of DOM elements
  • Attribute binding instructions: Assist developers to Element's attributes dynamically bind attribute values
  • Event binding instructions: Assist developers to bind events to elements
  • Two-way binding instructions: Assist developers to quickly obtain form data without operating the DOM (changes in the data source will be synchronized to the page, and changes on the page will also be synchronized to the data source)
  • Conditional rendering instructions : Assist developers to control the display and hiding of DOM on demand
  • List rendering instructions : Assist developers to loop-render a list structure based on an array

1. Content rendering instructions

v-text

can only render plain text content, Will overwrite the original content inside the tag

<p v-text="gender">性别</p>
Copy after login

{{ }} The interpolation expression

can only render plain text content,Will not overwrite The original content inside the tag

<p>性别:{{ gender }}</p>
Copy after login

v-html

can render the tagged string into html content, will overwrite the original content inside the tag

<p v-html="info">该内容会被覆盖</p> <!-- info可以定义为html语句 -->
Copy after login

2. Attribute binding instructions

v-bind : or:

is the attribute of the element Dynamic Binding attribute value

<input v-bind:placeholder="tips"> <!--两种写法都可以-->
<input :placeholder="tips"> <!--两种写法都可以-->
Copy after login

Note: Interpolation expressions and v-bind Also supports the operation of javascript expressions

{{ 1 + 2 }}  //一元运算
{{ ok ? &#39;YES&#39; : &#39;NO&#39;}}  //三元运算
{{ message.split(&#39;&#39;).reverse().join(&#39;&#39;) }}  //字符串的反转
Copy after login
<div :id="&#39;list-&#39; + id"></div>  <!--字符串和变量的拼接-->
Copy after login

3. Event binding instructions

##v-on: Or @

Bind events for elements

<button v-on:click="add">+1</button> <!--两种写法都可以-->
<button @click="add">+1</button> <!--两种写法都可以-->
-----------------------------------------------------------
<script>
    //创建vue的实例对象
    const vm = new Vue({
        methods:{
            add(){
                this.count ++; //相当于vm.count ++;
            }
        }
    })
</script>
Copy after login

Pass parameters

    If no parameters are passed: there will be The default formal parameter
  • event is an object, and the target attribute inside points to the DOM element of the currently bound event
  • If you pass a parameter: event, it will be overwritten. In order to be usable If the parameter you pass can retain the event, you can manually pass another actual parameter
  • $event, and the formal parameter is optional
  • <button @click="add(1, $event)">+N</button>
    ------------------------------------------------------------
    <script>
        //创建vue的实例对象
        const vm = new Vue({
            methods:{                    
                add(n,event){
                    //修改
                    this.count +=n;
    
                    //判断
                    if(this.count % 2 === 0)
                        event.target.style.color = &#39;red&#39;;
                    else
                        event.target.style.color = &#39;&#39;;
                }                    
            }
        })
    </script>
    Copy after login

Event modifier

As long as it is an event, you can use the modifiers. Here are 5 commonly used

Event modifiersDescription.preventPrevent default behavior (for example: prevent the jump of a link, prevent the submission of the form).stopPrevent event bubbling.captureTrigger the current event handler in capture mode.onceThe bound event is only triggered once .selfOnly when event.target is the current element itself Trigger event processing function
<!--举个例子-->
<a href="http://www.baidu.com" @click.prevent="show">跳转到百度</button>
Copy after login

Key modifier

Modifiers that can only be used when triggering keyboard events are listed below 2 commonly used

key modifiers Description.escWhen pressing the esc key on the keyboard.enterWhen pressing the enter key on the keyboard
<!--举个例子-->
<!--keyup是事件名称     .esc是按键修饰符     clearInput是事件处理函数-->
<input type="text" @keyup.esc="clearInput">
Copy after login

4. Two-way binding instructions

##v-model##Quickly obtain form data (only applies to form elements , such as: input, textarea, select)

<input type="text" v-model="username">
Copy after login
<select v-model="city">
    <option value="">请选择城市</option>
    <option value="1">北京</option>
    <option value="2">上海</option>
    <option value="3">广州</option>
</select>
Copy after login

Exclusive modifier

Modifier that can only be used for v-model

Exclusive modifierDescription.numberAutomatically convert the value entered by the user to Numeric type .trim Automatically filters the leading and trailing blank characters entered by the user .lazy Data is automatically updated when focus is lost (generally updated in real time)
<!--举个例子-->
<input type="text" v-model.number="n1"> + <input type="text" v-model.number="n2"> = <span>{{ n1+n2 }}</span>
Copy after login

五、条件渲染指令

v-show

控制DOM的显示与隐藏(值为true显示,值为false隐藏),其原理为 动态添加/移除display:none样式 ,一般用于需频繁切换

<p v-show="flag">这是被 v-show 控制的元素</p>
Copy after login

v-if

控制DOM的显示与隐藏(值为true显示,值为false隐藏),其原理为 动态创建/移除元素 ,一般用于默认不展示且展示较少

<p v-if="flag">这是被 v-if 控制的元素</p>
Copy after login

v-else-if

配合 v-if 指令一起使用,否则将不会被识别

<div v-if="type === &#39;A&#39;">优秀</div>
<div v-else-if="type === &#39;B&#39;">良好</div>
<div v-else-if="type === &#39;C&#39;">一般</div>
<div v-else>差</div>
Copy after login

六、列表渲染指令

v-for

基于一个数组来循环渲染一个列表结构,它有特定的语法结构 v-for="item in items"

  • item是 被循环的每一项 ,名字随意
  • items是 待循环的数组 ,名字随意
<table>
    <thead>
        <th>索引</th>
        <th>ID</th>
        <th>姓名</th>
        <th>性别</th>
    </thead>

    <tbody>
        <!-- v-for还支持一个可选的第二个参数,即当前项的索引。语法格式为(item,index)in items -->
        <!-- 注意:item和index都是形参,可以根据需要进行重命名,如:(user,i)in userlist -->
        <!-- 注意:item和index除了可以被自己的子元素访问外,自身也可以使用 -->
        <!-- 注意:只有在需要用到索引时,才写这第二个参数 -->
        <tr v-for="(item,index) in list">
            <td>{{ index }}</td>
            <td>{{ item.id }}</td>
            <td>{{ item.name }}</td>
            <td>{{ item.gender }}</td>
       </tr>
    </tbody>
</table>
------------------------------------------------------------
<script>
    //创建vue的实例对象
    const vm = new Vue({
        data: {
            list: [
                { id: 1, name:&#39;张三&#39;, gender:&#39;男&#39; },
                { id: 2, name:&#39;李四&#39;, gender:&#39;女&#39; },
                { id: 3, name:&#39;王五&#39;, gender:&#39;男&#39; }
            ]
        }
    })
</script>
Copy after login

注意:在.vue文件中,只要用到 v-for指令 ,一定要绑定一个 :key 属性

  • key 的属性值尽量为 id,为 index 则无意义(因为index不和内容有一个强制的绑定关系)
  • key 的属性值只能是 字符串/数字 类型,否则报错
  • key 的属性值必须具有唯一性(不重复内容和值有一个强制的绑定关系
<tr v-for="(item,index) in list" :key="item.id">
Copy after login

(学习视频分享:web前端开发编程基础视频

The above is the detailed content of Getting started with Vue instructions: Let's talk about the six commonly used built-in instructions. 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)

Vue.js vs. React: Project-Specific Considerations Vue.js vs. React: Project-Specific Considerations Apr 09, 2025 am 12:01 AM

Vue.js is suitable for small and medium-sized projects and fast iterations, while React is suitable for large and complex applications. 1) Vue.js is easy to use and is suitable for situations where the team is insufficient or the project scale is small. 2) React has a richer ecosystem and is suitable for projects with high performance and complex functional needs.

How to use bootstrap in vue How to use bootstrap in vue Apr 07, 2025 pm 11:33 PM

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

How to add functions to buttons for vue How to add functions to buttons for vue Apr 08, 2025 am 08:51 AM

You can add a function to the Vue button by binding the button in the HTML template to a method. Define the method and write function logic in the Vue instance.

How to use watch in vue How to use watch in vue Apr 07, 2025 pm 11:36 PM

The watch option in Vue.js allows developers to listen for changes in specific data. When the data changes, watch triggers a callback function to perform update views or other tasks. Its configuration options include immediate, which specifies whether to execute a callback immediately, and deep, which specifies whether to recursively listen to changes to objects or arrays.

What does vue multi-page development mean? What does vue multi-page development mean? Apr 07, 2025 pm 11:57 PM

Vue multi-page development is a way to build applications using the Vue.js framework, where the application is divided into separate pages: Code Maintenance: Splitting the application into multiple pages can make the code easier to manage and maintain. Modularity: Each page can be used as a separate module for easy reuse and replacement. Simple routing: Navigation between pages can be managed through simple routing configuration. SEO Optimization: Each page has its own URL, which helps SEO.

How to use vue traversal How to use vue traversal Apr 07, 2025 pm 11:48 PM

There are three common methods for Vue.js to traverse arrays and objects: the v-for directive is used to traverse each element and render templates; the v-bind directive can be used with v-for to dynamically set attribute values ​​for each element; and the .map method can convert array elements into new arrays.

How to jump to the div of vue How to jump to the div of vue Apr 08, 2025 am 09:18 AM

There are two ways to jump div elements in Vue: use Vue Router and add router-link component. Add the @click event listener and call this.$router.push() method to jump.

How to jump a tag to vue How to jump a tag to vue Apr 08, 2025 am 09:24 AM

The methods to implement the jump of a tag in Vue include: using the a tag in the HTML template to specify the href attribute. Use the router-link component of Vue routing. Use this.$router.push() method in JavaScript. Parameters can be passed through the query parameter and routes are configured in the router options for dynamic jumps.

See all articles