Vue3框架

 

后端渲染模型:在服务器端完成渲染(用户输入 URL 发起请求 → 服务器返回 “带数据的完整 HTML 页面”)。典型技术栈:Java+JSP/Thymeleaf、PHP+Smarty、Node.js+Express+EJS。

前端渲染模型:在浏览器端完成渲染(用户输入 URL 发起请求 → 服务器仅返回无数据的静态 HTML 框架(含 CSS/JS),页面渲染、数据拼接由浏览器端的 JS完成)。典型技术栈:Vue/React/Angular + 后端 API(如 Spring Boot/Node.js)

script部分

export default对象的属性:

  • name:组件的名称
  • components:存储<template>中用到的所有组件
  • props:存储父组件传递给子组件的数据
  • watch():当某个数据发生变化时触发
  • computed:动态计算某个数据
  • setup(props, context):初始化变量、函数:

    • ref定义变量,可以用.value属性重新赋值
    • reactiv定义对象,不可重新赋值
    • props存储父组件传递过来的数据
    • context.emit():触发父组件绑定的函数(Vue 中父子组件通信的核心方式:父传子用 props(:xxx),子传父用事件(@xxx))

template部分

<slot></slot>:可以动态填充内容

v-on:@属性:绑定事件

v-bind:::绑定属性

v-ifv-elsev-else-if属性:判断

v-for属性:循环,:key:循环的每个元素需要有唯一的key

v-model:双向绑定,实现表单元素与数据双向绑定

style部分

<style></style>标签添加scoped属性后,不同组件间的css不会相互影响

第三方组件

view-router包:实现路由功能

vuex:存储全局状态,全局唯一:

  • state:存储所有数据,可以用modules属性划分成若干模块
  • getters:根据state中的值计算新的值
  • mutations:所有对state的修改操作都需要定义在这里,不支持异步,可以通过$store.commit()触发
  • actions:定义对state的复杂修改操作,支持异步,可以通过$store.dispatch()触发。注意不能直接修改state,只能通过mutations修改state
  • modules:定义state的子模块