前端核心框架Vue指令详解

简介: 前端核心框架Vue指令详解

▐ 关于Vue指令的介绍

Vue指令是Vue.js框架中用于操作DOM元素的一种机制。指令提供了一种便捷的方式,可以在DOM元素上附加自定义行为。Vue指令的基本语法是v-后跟指令名,例如v-if、v-for、v-bind等。指令可以接受一个或多个参数,并且可以包含表达式,这些表达式会在指令绑定的元素上求值。Vue指令的参数和表达式提供了灵活的数据绑定和事件处理机制,使得开发者能够更加高效地操作DOM和响应数据变化。


▐ v-text与v-html

v-text 和v-html 都会覆盖标签体中的内容 (插值表达式插入变量,不会覆盖标签体中的内容 )

但v-text 会把内容当做文本来处理,v-html 会把内容当做html 内容处理,可以解析标签。

    <div id="app">
      <p>{{ message }}Vue</p>
      <p v-text="message">Vue</p>
      <p v-html="message">Vue</p>
    </div>
    
    <script>
      var app = new Vue({
        el: '#app',
        data: {
          message: '<b>Hello</b>'
        }
      })
    </script>


v-on

v-on用于监听DOM事件,可以简写为@,用于在元素上监听原生事件,并在触发时执行一些JavaScript代码。

    <div id="app">
      <input type="button" value="触发" v-on:click="test()"/>
      <p>{{message}}</p>
    </div>
    
    <script>
      var app = new Vue({
        el: '#app',
        data: {
          message: ''
        },
        methods:{
          test(){
            this.message="触发";
          }
        }
      })
    </script>


v-model

v-model用于双向数据绑定,一般用在表单输入和应用状态之间建立双向绑定。

    <div id="app">
      <input type="text" v-model="message"/>
      <p>{{message}}</p>
    </div>
    
    <script>
      var app = new Vue({
        el: '#app',
        data: {
          message: ''
        }
      })
    </script>


▐ v-show与v-if

v-ifv-show用于条件渲染,根据条件决定是否显示或隐藏元素。v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

• v-show 本质是通过控制标签的display属性来隐藏/显示标签的,效率高

• v-if 本质是通过dom元素来切换,让标签直接从网页删掉,显示时再重新创建标签,效率低

    <div id="app">
      <img v-show="isShow" src="img/lisa.jpg" />
      <img v-if="isShow" src="img/lisa.jpg" />
      <input type="button" @click="oper()" value="隐藏/显示" />
    </div>
 
    <script>
      var app = new Vue({
        el: '#app',
        data: {
          isShow: true
        },
        methods: {
          oper() {
            this.isShow = !this.isShow;
          }
        }
      })
    </script>



▐ v-bind

v-bind用于绑定属性,可以简写为:,用于动态地绑定一个或多个属性,或一个组件 prop 到表达式。

    <div id="app">
      <img v-bind:src="imgsrc[index]"  />
      <input type="button" value="切换" @click="oper()" />
    </div>
 
    <script>
      var app = new Vue({
        el: '#app',
        data: {
         imgsrc:["img/lisa.jpg","img/金珍妮.jpg","img/金智秀.jpg"],
         index:0
        },
        methods:{
          oper(){
            if(this.index==2){
              this.index=0;
            }else{
              this.index++;
            }
          }
        }
      })
    </script>

•  v-bind:属性名 = "变量名"  , 一旦为属性添加v-bind,值就是一个在data中定义的变量了

•  还可以简写为   : 属性名

v-for

v-for用于列表渲染,可以基于源数据多次渲染一个元素或模板,通常循环遍历数组或对象。

    <div id="app">
      <ul>
        <li v-for="user in users">
          姓名:{{user.name}}
          年龄:{{user.age}}
          性别:{{user.gender}}
        </li>
      </ul>
    </div>
 
    <script>
      var app = new Vue({
        el: '#app',
        data: {
          users:[
          {name:"Tom",age:16,gender:"男"},
          {name:"Jim",age:18,gender:"女"},
          {name:"Lie",age:20,gender:"女"}
        ]
        }
      })
    </script>


希望这篇关于 Vue常用指令的介绍 能对大家有所帮助,欢迎大佬们留言或私信与我交流~~

学海漫浩浩,我亦苦作舟!大家一起学习,一起进步!

相关文章
|
11天前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
39 9
|
25天前
|
人工智能 前端开发 JavaScript
前端架构思考 :专注于多框架的并存可能并不是唯一的方向 — 探讨大模型时代前端的分层式微前端架构
随着前端技术的发展,微前端架构成为应对复杂大型应用的流行方案,允许多个团队使用不同技术栈并将其模块化集成。然而,这种设计在高交互性需求的应用中存在局限,如音视频处理、AI集成等。本文探讨了传统微前端架构的不足,并提出了一种新的分层式微前端架构,通过展示层与业务层的分离及基于功能的横向拆分,以更好地适应现代前端需求。
|
5天前
|
前端开发 JavaScript API
前端界的秘密武器:掌握这些框架,让你轻松秒杀99%的同行!
前端开发日新月异,掌握几个明星框架如React、Vue.js和Angular,不仅能让工作更得心应手,还能轻松超越同行。React以高效的虚拟DOM和组件化著称;Vue.js简洁易懂,灵活性高;Angular提供全面的解决方案,适合大型应用。此外,轻量级的Svelte也值得关注,其编译时处理设计提升了应用性能。掌握这些框架,结合深刻理解和灵活运用,助你在前端领域脱颖而出。
21 9
|
17天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
30 3
|
18天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
18天前
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略
|
23天前
|
JavaScript 前端开发 测试技术
前端全栈之路Deno篇(五):如何快速创建 WebSocket 服务端应用 + 客户端应用 - 可能是2025最佳的Websocket全栈实时应用框架
本文介绍了如何使用Deno 2.0快速构建WebSocket全栈应用,包括服务端和客户端的创建。通过一个简单的代码示例,展示了Deno在WebSocket实现中的便捷与强大,无需额外依赖,即可轻松搭建具备基本功能的WebSocket应用。Deno 2.0被认为是最佳的WebSocket全栈应用JS运行时,适合全栈开发者学习和使用。
|
23天前
|
JavaScript 前端开发 算法
前端优化之超大数组更新:深入分析Vue/React/Svelte的更新渲染策略
本文对比了 Vue、React 和 Svelte 在数组渲染方面的实现方式和优缺点,探讨了它们与直接操作 DOM 的差异及 Web Components 的实现方式。Vue 通过响应式系统自动管理数据变化,React 利用虚拟 DOM 和 `diffing` 算法优化更新,Svelte 通过编译时优化提升性能。文章还介绍了数组更新的优化策略,如使用 `key`、分片渲染、虚拟滚动等,帮助开发者在处理大型数组时提升性能。总结指出,选择合适的框架应根据项目复杂度和性能需求来决定。
|
23天前
|
缓存 前端开发 JavaScript
前端serverless探索之组件单独部署时,利用rxjs实现业务状态与vue-react-angular等框架的响应式状态映射
本文深入探讨了如何将RxJS与Vue、React、Angular三大前端框架进行集成,通过抽象出辅助方法`useRx`和`pushPipe`,实现跨框架的状态管理。具体介绍了各框架的响应式机制,展示了如何将RxJS的Observable对象转化为框架的响应式数据,并通过示例代码演示了使用方法。此外,还讨论了全局状态源与WebComponent的部署优化,以及一些实践中的改进点。这些方法不仅简化了异步编程,还提升了代码的可读性和可维护性。
|
24天前
|
前端开发 JavaScript 中间件
前端全栈之路Deno篇(四):Deno2.0如何快速创建http一个 restfulapi/静态文件托管应用及oak框架介绍
Deno 是由 Node.js 创始人 Ryan Dahl 开发的新一代 JavaScript 和 TypeScript 运行时,旨在解决 Node.js 的设计缺陷,具备更强的安全性和内置的 TypeScript 支持。本文介绍了如何使用 Deno 内置的 `Deno.serve` 快速创建 HTTP 服务,并详细讲解了 Oak 框架的安装和使用方法,包括中间件、路由和静态文件服务等功能。Deno 和 Oak 的结合使得创建 RESTful API 变得高效且简便,非常适合快速开发和部署现代 Web 应用程序。