从传统开发到Vue:掌握Vue核心指令

在当今前端领域,Vue.js作为一种现代化、灵活的JavaScript框架,为开发者提供了一种更高效的开发方式。本文将探讨从传统的开发方式过渡到Vue开发,特别关注Vue的核心指令的关键概念。

1. 初识Vue.js

在进入Vue.js之前,让我们回顾一下传统的开发方式,以及为何Vue.js成为当今前端开发的瑰宝。Vue.js是一款渐进式JavaScript框架,专注于构建用户界面,同时易于集成到现有项目中。它的核心理念是响应式数据绑定和组件系统。

js 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <h2>hello world</h2>
    </div>

    <script>
        const title = '你好世界'
        let h2 = document.createElement('h2')
        h2.innerText = title
        document.getElementById('app').appendChild(h2)
    </script>
</body>
</html>

传统的前端开发就是固定写好标签里的内容,要修改的话就要在js里面获取到相应的DOM结构然后再去修改值,这样非常繁琐,也没有一种方法能像定义变量一样放个变量在标签里,然后修改变量的值就可以修改标签的内容呢?有,vue就解决了这个问题

vue 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app"></div>
    <template id="my-app">
        <div>
            <h2>{{title}}</h2>
            <h2>{{count}}</h2>
        </div>
    </template>

    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <script>
        Vue.createApp({
            template: '#my-app',
            data() {    //数据源  是响应式的
                return {
                    title: '你好,世界',
                    count: 1
                }
            }
        }).mount('#app')
    </script>
</body>
</html>

用vue写的话把DOM结构写在template标签里面,用{{变量}}放在DOM结构里,然后在data()里面修改变量的值,相应的DOM结构里面的值也会发生变化,这样就方便很多

2. Vue核心指令一瞥

2.1 v-if

v-if是Vue中用于条件渲染的指令,根据表达式的真假决定是否渲染相应的DOM元素。这为我们提供了在不同状态下展示不同内容的便利,如果v-if里面的条件为真,就显示这个div,否则就显示v-else这个div

js 复制代码
<div v-if="isUserLoggedIn">欢迎回来!</div>
<div v-else>请登录</div>

2.2 v-text

v-text用于更新元素的textContent,它与插值表达式{{ }}类似,但更具有表达性。

js 复制代码
<span v-text="message"></span>

和它功能相似的还有一个v-html,如果v-html里面的内容是字符串,那就和v-text功能一样,如果里面是一个标签,比如<p>这是第一个段落</p>,那么v-html就会把这个标签加进去,而不是解析成字符串的形式

2.3 v-on

v-on用于监听DOM事件,执行相应的方法。这是实现用户交互的重要手段之一。v-on的可以简写成@,具体的函数功能放在methods属性中定义

js 复制代码
<body>
    <div id="app"></div>
    <template id="my-app">
        <button v-on:click="handleAdd($event,10)">add</button>  
        <button @click="handleAdd($event,10)">add</button>  
    </template>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <script>
        Vue.createApp({
            template: '#my-app',
            methods: {
                handleAdd(e,n) {
                    this.count+=n        
                }
            }
        }).mount('#app')
    </script>
</body>
</html>

2.4 v-bind

v-bind用于动态绑定HTML属性。通过它,我们可以根据组件状态动态设置元素的属性。它的缩写是:

js 复制代码
 <template id="my-app">
      <img width="200" v-bind:src="imgurl" alt="">      <!-- v-bind 动态绑定 -->
      <a :href="link">跳转</a>          <!-- : 就是v-bind的缩写 -->
    </template>

2.5 v-for

v-for是Vue中用于循环渲染的指令,它可以遍历数组或对象,生成相应的DOM元素。使用v-for的时候必须要动态绑定一个key作为唯一标识

js 复制代码
<ul>
  <li v-for="item in items" :key="item.id">{{ item.name }}</li>
</ul>

3. 结语

通过学习Vue.js的核心指令的关键概念,我们能够更加高效、灵活地构建现代化的Web应用程序。从传统的开发方式迈向Vue,让我们的开发变得更为流畅和愉快。

无论你是初学者还是有经验的开发者,Vue.js都为你提供了一种更加直观、快速的开发方式。让我们共同迎接Vue.js的未来,创造更出色的用户体验!

相关推荐
打野赵怀真几秒前
react父子组件如何通信?
前端·javascript
Jalor3 分钟前
Flutter 与 HarmonyOS NEXT | IAPKit(应用内支付服务)避坑指南
前端·flutter·harmonyos
市民中心的蟋蟀3 分钟前
第六章 :介绍全局状态管理库
前端·javascript·react.js
uhakadotcom5 分钟前
Figma入门指南:协作设计的新时代
前端·javascript·面试
欲儿7 分钟前
在线记事本——支持Markdown
前端·javascript·程序人生·sqlite·php·轻量级在线记事本
艾克马斯奎普特11 分钟前
Vue.js 3 渐进式实现之响应式系统——第六节:嵌套的 effect 与 effect 栈
前端·vue.js
Nickname肖知寒12 分钟前
chromium魔改——CDP(Chrome DevTools Protocol)检测01
前端·chrome·chrome devtools
FanetheDivine17 分钟前
发现一个Solid中的坑
前端·javascript·react.js
Cache技术分享27 分钟前
40. Java 使用 `switch` 语句进行分支选择
前端·后端
zzkrix33 分钟前
浏览器插件 - kimi 历史会话清理助手
前端