当前位置: 首页 > article >正文

Vue.js 快速实战入门

Vue.js 是一个用于构建用户界面的渐进式框架。与其它大型框架不同,Vue.js 从一开始就设计为可逐步采用的,既可以作为简单的库集成到现有项目中,也可以作为完整的单页应用程序(SPA)框架使用。本文将带你快速入门 Vue.js,从安装到创建一个简单的项目。

1. 安装 Vue.js

1.1 通过 CDN 引入

最简单的方式是通过 CDN 引入 Vue.js,适合于快速原型开发或简单的项目。

<!DOCTYPE html>
<html>
<head>
  <title>Vue.js 快速入门</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
  <div id="app">
    {{ message }}
  </div>

  <script>
    new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue.js!'
      }
    });
  </script>
</body>
</html>

1.2 通过 npm 安装

对于更复杂的项目,推荐使用 npm 安装 Vue.js,并结合 Vue CLI 工具进行项目管理。

首先,确保你已经安装了 Node.js 和 npm。然后,全局安装 Vue CLI:

npm install -g @vue/cli

使用 Vue CLI 创建一个新的 Vue 项目:

vue create my-project
cd my-project
npm run serve

2. 项目结构

创建项目后,你会看到如下目录结构:

my-project/
├── node_modules/
├── public/
│   ├── index.html
│   └── favicon.ico
├── src/
│   ├── assets/
│   ├── components/
│   ├── App.vue
│   └── main.js
├── .browserslistrc
├── .eslintrc.js
├── .gitignore
├── babel.config.js
├── package.json
├── README.md
└── vue.config.js

2.1 主要文件说明

  • public/index.html:项目的入口 HTML 文件。
  • src/main.js:Vue 应用的入口文件,负责启动应用。
  • src/App.vue:根组件,包含整个应用的结构。
  • src/components/:存放各个组件的目录。

3. 组件化开发

Vue.js 的核心特性之一是组件化。组件是可复用的 Vue 实例,具有自己的模板、数据和方法。

3.1 创建组件

src/components/ 目录下创建一个名为 HelloWorld.vue 的组件:

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  }
}
</script>

<style scoped>
h1 {
  color: #42b983;
}
</style>

3.2 使用组件

src/App.vue 中使用 HelloWorld 组件:

<template>
  <div id="app">
    <HelloWorld msg="Welcome to Your Vue.js App"/>
  </div>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'

export default {
  name: 'App',
  components: {
    HelloWorld
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

4. 常见用法

4.1 数据绑定

Vue.js 提供了多种数据绑定方式,包括插值表达式和指令。

<template>
  <div>
    <p>{{ message }}</p>
    <p v-text="message"></p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue.js!'
    }
  }
}
</script>

4.2 条件渲染

使用 v-ifv-show 进行条件渲染。

<template>
  <div>
    <p v-if="isVisible">This is visible</p>
    <p v-show="isVisible">This is also visible</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isVisible: true
    }
  }
}
</script>

4.3 列表渲染

使用 v-for 渲染列表。

<template>
  <ul>
    <li v-for="item in items" :key="item.id">{{ item.name }}</li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { id: 1, name: 'Apple' },
        { id: 2, name: 'Banana' },
        { id: 3, name: 'Cherry' }
      ]
    }
  }
}
</script>

4.4 事件处理

使用 v-on 绑定事件处理器。

<template>
  <button v-on:click="increment">Count: {{ count }}</button>
</template>

<script>
export default {
  data() {
    return {
      count: 0
    }
  },
  methods: {
    increment() {
      this.count++;
    }
  }
}
</script>

4.5 表单输入绑定

使用 v-model 进行双向数据绑定。

<template>
  <div>
    <input v-model="message" placeholder="Enter a message">
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: ''
    }
  }
}
</script>

5. 路由和状态管理

5.1 Vue Router

Vue Router 是官方的路由管理器,用于实现单页面应用的导航。

安装 Vue Router:

npm install vue-router

src/router/index.js 中配置路由:

import Vue from 'vue';
import Router from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';

Vue.use(Router);

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    },
    {
      path: '/about',
      name: 'about',
      component: About
    }
  ]
});

src/main.js 中引入路由配置:

import Vue from 'vue';
import App from './App.vue';
import router from './router';

Vue.config.productionTip = false;

new Vue({
  router,
  render: h => h(App)
}).$mount('#app');

5.2 Vuex

Vuex 是官方的状态管理库,用于管理应用的共享状态。

安装 Vuex:

npm install vuex

src/store/index.js 中配置 Vuex:

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment(state) {
      state.count++;
    }
  },
  actions: {
    increment({ commit }) {
      commit('increment');
    }
  },
  getters: {
    count: state => state.count
  }
});

src/main.js 中引入 Vuex 配置:

import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';

Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app');

在组件中使用 Vuex:

<template>
  <div>
    <p>Count: {{ count }}</p>
    <button @click="increment">Increment</button>
  </div>
</template>

<script>
import { mapState, mapActions } from 'vuex';

export default {
  computed: {
    ...mapState(['count'])
  },
  methods: {
    ...mapActions(['increment'])
  }
}
</script>

6. 总结

通过本文,你应该已经对 Vue.js 有了基本的了解,并能够创建一个简单的 Vue.js 应用。Vue.js 的强大之处在于它的灵活性和易用性,无论是简单的静态页面还是复杂的单页应用,Vue.js 都能提供强大的支持。

希望这篇文章对你有所帮助,祝你在 Vue.js 的学习之旅中一切顺利!


http://www.kler.cn/a/369895.html

相关文章:

  • Java 高级工程师面试高频题:JVM+Redis+ 并发 + 算法 + 框架
  • 『 实战项目 』Cloud Backup System - 云备份
  • mock可视化生成前端代码
  • Docker Desktop 在Windows 环境中开发、测试和运行容器化的应用程序
  • 电子应用设计方案103:智能家庭AI浴缸系统设计
  • 【C++基础】多线程并发场景下的同步方法
  • VictoriaMetrics 中文教程(10)集群版介绍
  • 3.常见的线性规划应用实例
  • 【C语言】C语言入门--函数
  • 在Ubuntu上配置python环境
  • 0.96寸oled模块,多级菜单教程,用最简单的方式写出多级菜单,教程详解!!!让嵌入式小白变高手系列教程 一
  • 人工智能技术的未来应用前景:改变生活与工作的深远影响
  • Spring AI : Java写人工智能(LLM)的应用框架
  • python常见内置函数
  • 微信小程序学习实录11:精通表单数据绑定,构建高效用户界面
  • Ubuntu使用Tesla P4配置Anaconda+CUDA+PyTorch
  • 【系统设计】API版本控制的重要性及三种方法:Spring Boot示例
  • 【论文笔记】Perceiver: General Perception with Iterative Attention
  • 尚硅谷scala
  • GO语言基础教程:9.切片
  • 智能扭矩系统Torque在精密制造领域的应用_SunTorque
  • 基于Spring Boot+Unipp的校园志愿者小程序(图形化分析)
  • 目前市场主流的不同室内定位效果对比
  • SAP-ABAP开发-按钮的三种调用方法
  • Rust:设计 gRPC 客户端
  • 大白话讲解Spring对数据源和事务管理以及多数据源配置