前端核心框架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常用指令的介绍 能对大家有所帮助,欢迎大佬们留言或私信与我交流~~

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

相关文章
|
1月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
156 1
|
2月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
230 83
|
2月前
|
JavaScript 前端开发 API
|
2月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
270 70
|
30天前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
100 22
|
7月前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
178 9
|
4月前
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
175 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
3月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
5月前
|
JavaScript 前端开发 jenkins
抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
本文探讨了在不依赖Node和VSCode的情况下,仅使用记事本和浏览器开发一个完整的Vue3前端项目的方法。通过CDN引入Vue、Vue Router、Element-UI等库,直接编写HTML文件实现页面功能,展示了前端开发的本质是生成HTML。虽然日常开发离不开现代工具,但掌握这种基础方法有助于快速实现想法或应对特殊环境限制。文章还介绍了如何用Node简单部署HTML文件到服务器,提供了一种高效、轻量的开发思路。
121 10
|
7月前
|
JavaScript 前端开发 搜索推荐
Vue的数据驱动视图与其他前端框架的数据驱动方式有何不同?
总的来说,Vue 的数据驱动视图在诸多方面展现出独特的优势,其与其他前端框架的数据驱动方式的不同之处主要体现在绑定方式、性能表现、触发机制、组件化结合、灵活性、语法表达以及与后端数据交互等方面。这些差异使得 Vue 在前端开发领域具有独特的地位和价值。
163 58