百科狗-知识改变命运!
--

vue 介绍 - 渐进式 JavaScript 框架 - vue 基础

梵高1年前 (2023-11-21)阅读数 21#技术干货
文章标签组件

vue 介绍

vue 是渐进式 JavaScript 框架,用于构建 web 用户界面。易用、高性能、多功能的框架。

vue 官网:vuejs.org

最新版本:


什么是 Vue?

Vue(读作/vjuː/,类似view)是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,可帮助您有效地开发简单或复杂的用户界面。

简单例子:

//js
import { createApp } from 'vue'

createApp({ data() {
    return { count: 0
    }
  }
}).mount('#app')
//template
Count is: {{ count }}

Vue 的两个核心特性:

  • 声明式渲染:Vue 通过自己的模板语法扩展了标准 HTML,使得我们可以声明式地描述基于 JavaScript 状态输出的 HTML。
  • 响应性:Vue 会自动跟踪 JavaScript 状态变化,并在改变发生时,响应式地更新 DOM。
文档接下来的部分假设你对 HTML、CSS 和 JavaScript 已经基本熟悉。如果你对前端开发完全陌生,最好不要直接在一开始针对一个框架进行学习——最好是掌握了基础知识再回到这里。如果之前有其他框架的经验会很有帮助,但不是必须的。


渐进式框架

Vue 是一个框架,也是一个生态。其功能覆盖了大部分前端开发常见的需求。但 Web 世界是十分多样化的,不同的开发者在 Web 上构建的东西可能在形式和规模上会有很大的不同。考虑到这一点,Vue 的设计非常注重灵活性和可以被逐步集成这个特点。根据你的需求场景,你可以用不同的方式使用 Vue:

  • 增强静态的 HTML 而无需构建步骤。
  • 在任何页面中作为 Web Components 嵌入。
  • 单页应用程序(SPA)。
  • 全栈/服务端渲染(SSR)。
  • JAMStack /静态站点生成(SSG)。
  • 目标为桌面端、移动端、WebGL,甚至是命令行终端。

如果你是初学者,可能觉得这些概念令人生畏,别担心!理解教程和指南的内容只需要具备基础的 HTML 和 JavaScript 知识。你即使不是这些方面的专家,也能够跟上。

如果你是有经验的开发者,对于如何以最好的方式在你的项目中引入 Vue,或者是对上述的概念很好奇,我们将在使用 Vue 的多种方式中讨论有关它们的更多细节。

无论再怎么灵活,关于 Vue 是如何工作的核心知识在所有这些用例中都是通用的。即使你现在只是一个初学者,随着你的不断成长,直到未来有能力实现更雄心勃勃的目标时,这一路上获得的知识都将会一直有用。如果你已经是一个老手,你可以根据你要解决的问题来选择使用 Vue 的最佳方式,同时保留相同的生产力。这就是为什么我们将 Vue 称为“渐进式框架”:它是一个可以与你共同成长、适应你不同需求的框架。


渐进式:逐步集成。框架做分层设计,从自底向上逐层应用。每层都可选,不同层可以灵活接入其他方案。

vue 介绍 - 渐进式 JavaScript 框架 - vue 基础



单文件组件

在大多数启用了构建工具的 Vue 项目中,我们可以使用一种类似 HTML 格式的文件来书写 Vue 组件,它被称为单文件组件(也被称为*.vue文件,英文 Single-File Components,缩写为SFC)。顾名思义,Vue 的单文件组件会将一个组件的逻辑(JavaScript),模板(HTML)和样式(CSS)封装在同一个文件里。下面我们将用单文件组件的格式重写上面的计数器示例:

 Count is: {{ count }} 



button {
  font-weight: bold;
} 

单文件组件是 Vue 的标志性功能。如果你的用例需要进行构建,我们推荐用它来编写 Vue 组件。


API 样式

Vue 组件可以用两种不同的 API 风格编写:Options API(选项式 API)和Composition API(组合式 API)。

选项 API

使用 Options API (选项式 API),我们可以用包含多个选项的对象来描述组件的逻辑,例如datamethodsmounted。选项所定义的属性都会暴露在函数内部的this上,它会指向当前的组件实例。

 

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)