当前位置:首页 > 技术 > 正文内容

Vue.js 基础入门:环境搭建与核心概念解析

访客 技术 2026年11月5日 2

开发环境准备

在开始 Vue.js 开发之前,建议准备好以下工具和插件:

  • VS Code:主流的代码编辑器。
  • Live Server 插件:在 VS Code 中安装此插件,可以快速启动一个本地开发服务器,实现代码修改后的实时刷新。
  • Vue Devtools:Chrome 浏览器的调试扩展程序,用于监控 Vue 实例的状态和数据流向。

编写第一个 Vue 应用

通过引入 CDN 或本地脚本文件即可开始使用 Vue 2.x。以下是一个简单的示例,展示如何将数据渲染到 DOM 中:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Vue 快速上手</title>
    <script src="./lib/vue.js"></script>
</head>
<body>
    <!-- 宿主容器 -->
    <div id="root">
        <h1>欢迎来到 {{ appName }}</h1>
    </div>

    <script>
        // 关闭生产环境提示
        Vue.config.productionTip = false;

        // 创建 Vue 实例
        new Vue({
            el: '#root', // 绑定容器
            data: {
                appName: 'Vue 的世界'
            }
        });
    </script>
</body>
</html>

核心模板语法

Vue 的模板语法主要分为两大类:插值语法和指令语法。

  • 插值语法 {{ js_expression }}:主要用于解析标签体内的文本内容。
  • 指令语法 v-???:用于解析标签属性、绑定事件等。例如 v-bind 可以动态绑定属性值。
<div id="app">
    <!-- 插值语法 -->
    <p>用户姓名:{{ userInfo.name }}</p>
    <!-- 指令语法 (v-bind: 可简写为 :) -->
    <a :href="userInfo.homePage">访问个人主页</a>
</div>

<script>
    new Vue({
        el: '#app',
        data: {
            userInfo: {
                name: '极客开发者',
                homePage: 'https://github.com'
            }
        }
    });
</script>

数据绑定模式

Vue 提供了两种主要的数据绑定方式:

  • 单向绑定 (v-bind):数据只能从 data 流向页面。
  • 双向绑定 (v-model):数据在 data 和页面(表单元素)之间双向同步。v-model 默认收集的是元素的 value 值。
<div id="binding-demo">
    单向:<input type="text" :value="val"> <br>
    双向:<input type="text" v-model="val">
</div>

<script>
    new Vue({
        el: '#binding-demo',
        data: {
            val: '初始内容'
        }
    });
</script>

Vue 实例的配置技巧

在实际开发中,el 和 data 有不同的写法:

  • el 的挂载:除了直接在配置对象中写 el,还可以使用 vm.$mount('#id') 进行手动挂载。
  • data 的定义:在组件化开发中,data 必须写成函数形式并返回一个对象,以防止多个组件实例共用同一份数据。
const vm = new Vue({
    // 函数式 data
    data() {
        return {
            status: 'Active'
        };
    }
});
vm.$mount('#app');

理解 MVVM 模型

Vue 的设计参考了 MVVM 架构模式:

  • M (Model):模型,对应 data 中的纯 JavaScript 对象。
  • V (View):视图,即 DOM 结构(模板代码)。
  • VM (ViewModel):视图模型,即 Vue 实例,它是连接 Model 和 View 的桥梁,负责数据监听与视图更新。

数据代理机制

Vue 实现数据响应式的核心是数据代理。它通过 Object.defineProperty() 方法,将 data 对象中的所有属性映射到 Vue 实例(vm)上。

底层原理示例:

let dataStore = { price: 100 };
let proxyObj = {};

// 通过 proxyObj 代理对 dataStore.price 的操作
Object.defineProperty(proxyObj, 'price', {
    get() {
        console.log('读取价格');
        return dataStore.price;
    },
    set(newVal) {
        console.log('修改价格');
        dataStore.price = newVal;
    }
});

在 Vue 内部,当你访问 vm.prop 时,实际上是触发了 getter 去读取 _data 中的对应属性;当你修改属性时,setter 会同步更新 _data 并触发视图更新。

标签: Vue.jsMVVM

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。