小鲸鱼软件小鲸鱼软件
首页
  • 概览
  • Git工作流说明
  • HTML代码风格
  • VUE 代码风格
  • 代码防腐
  • 离站链接风险提示页的简单实现
  • 使用docker-compose部署ElasticSearch
  • 代码仓库

    • Gogs
    • Gitea
    • Gitlab
  • CI/CD

    • Jenkins
  • 辅助工具

    • 禅道
    • Harbor
    • Nexus
    • Rancher
    • Grafana
    • Kibana
    • Portainer
  • GitlabPages

    • Nuxt中文文档
    • VuePress Docs
    • Nuxt Demo
    • Mkdocs Demo
    • Hexo Demo
  • 图像工具

    • 图片在线编辑
    • 二维码生成器
    • SVG生成器
  • 格式转换

    • 日期格式转换
    • 颜色格式转换
    • Yaml转json
    • Toml转json
    • Json转yaml
    • Json转toml
    • Yaml转toml
    • Toml转yaml
    • 罗马数字转换
  • 加解密

    • 密码强度分析
    • MD5/Hash
    • 对称加解密
    • Base64字符串
    • Base64文件
    • Token生成器
    • UUID生成器
    • BIP39密码短语生成器
    • HMAC生成器
    • RSA密钥对生成器
  • 数学

    • 表达式求值
    • 预计到达时间
    • 百分比计算器
  • 开发者

    • UA解析
    • Json对比
    • Json格式化
    • Json去格式
    • SQL格式化
    • Xml格式化
    • Chmod权限计算
    • Docker命令转换
  • 网络

    • IPv4子网计算
    • IPv4地址转换
    • CIDR计算
    • MAC地址解析
    • IPv6 ULA生成器
  • 能接什么项目
  • 软件定制

    • Android/iOS客户端
    • 多端互动类应用
    • 各类工控上位机软件
    • 各类自动化辅助软件
  • DevOps

    • DevOps工具托管
    • DevOps账号租用
  • 二次开发

    • Scratch
    • 办公软件
    • Udp/Tcp工具
    • 远程控制
    • 串口通信
  • 项目搭建

    • ElasticSearch集群
    • Kubernetes集群
    • Harbor
    • 邮件系统
    • DNS私服
  • 怀旧

    • 飞机大战
    • 魔方游戏
  • 我们

    • 关于我们
    • 联系我们
  • 简体中文
  • English
首页
  • 概览
  • Git工作流说明
  • HTML代码风格
  • VUE 代码风格
  • 代码防腐
  • 离站链接风险提示页的简单实现
  • 使用docker-compose部署ElasticSearch
  • 代码仓库

    • Gogs
    • Gitea
    • Gitlab
  • CI/CD

    • Jenkins
  • 辅助工具

    • 禅道
    • Harbor
    • Nexus
    • Rancher
    • Grafana
    • Kibana
    • Portainer
  • GitlabPages

    • Nuxt中文文档
    • VuePress Docs
    • Nuxt Demo
    • Mkdocs Demo
    • Hexo Demo
  • 图像工具

    • 图片在线编辑
    • 二维码生成器
    • SVG生成器
  • 格式转换

    • 日期格式转换
    • 颜色格式转换
    • Yaml转json
    • Toml转json
    • Json转yaml
    • Json转toml
    • Yaml转toml
    • Toml转yaml
    • 罗马数字转换
  • 加解密

    • 密码强度分析
    • MD5/Hash
    • 对称加解密
    • Base64字符串
    • Base64文件
    • Token生成器
    • UUID生成器
    • BIP39密码短语生成器
    • HMAC生成器
    • RSA密钥对生成器
  • 数学

    • 表达式求值
    • 预计到达时间
    • 百分比计算器
  • 开发者

    • UA解析
    • Json对比
    • Json格式化
    • Json去格式
    • SQL格式化
    • Xml格式化
    • Chmod权限计算
    • Docker命令转换
  • 网络

    • IPv4子网计算
    • IPv4地址转换
    • CIDR计算
    • MAC地址解析
    • IPv6 ULA生成器
  • 能接什么项目
  • 软件定制

    • Android/iOS客户端
    • 多端互动类应用
    • 各类工控上位机软件
    • 各类自动化辅助软件
  • DevOps

    • DevOps工具托管
    • DevOps账号租用
  • 二次开发

    • Scratch
    • 办公软件
    • Udp/Tcp工具
    • 远程控制
    • 串口通信
  • 项目搭建

    • ElasticSearch集群
    • Kubernetes集群
    • Harbor
    • 邮件系统
    • DNS私服
  • 怀旧

    • 飞机大战
    • 魔方游戏
  • 我们

    • 关于我们
    • 联系我们
  • 简体中文
  • English

Vue示例

这一章主要是写vue demo

这个示例展示了如何通过 v-on 指令处理用户输入。

实现效果

Hello World!

A link with e.preventDefault()


  • 1
  • 2
  • 3

相关代码

<script>
export default {
  data() {
    return {
      message: 'Hello World!',
      show: true,
      list: [1, 2, 3]
    }
  },
  methods: {
    reverseMessage() {
      this.message = this.message.split('').reverse().join('')
    },
    notify() {
      alert('navigation was prevented.')
    }
  }
}
</script>

<div>
  <!--
    注意我们不需要在模板中写 .value,
    因为在模板中 ref 会自动“解包”。
  -->
  <h1>{{ message }}</h1>

  <!--
    绑定到一个方法/函数。
    这个 @click 语法是 v-on:click 的简写。
  -->
  <button @click="reverseMessage">Reverse Message</button>

  <!-- 也可以写成一个内联表达式语句 -->
  <button @click="message += '!'">Append "!"</button>

  <!--
    Vue 也为一些像 e.preventDefault() 和 e.stopPropagation()
    这样的常见任务提供了修饰符。
  -->
  <a href="https://vuejs.org" @click.prevent="notify">
    A link with e.preventDefault()
  </a>

  <hr>

  <button @click="show = !show">Toggle List</button>
  <button @click="list.push(list.length + 1)">Push Number</button>
  <button @click="list.pop()">Pop Number</button>
  <button @click="list.reverse()">Reverse List</button>
  <hr>
  <ul v-if="show && list.length">
    <li v-for="item of list">{{ item }}</li>
  </ul>
  <p v-else-if="list.length">List is not empty, but hidden.</p>
  <p v-else>List is empty.</p>

  <hr>
</div>

<style scoped>
button, a {
  display: block;
  margin-bottom: 1em;
}
</style>

关于Vue的几个问题

Vue 使用什么开源协议?

Vue 是完全免费的开源项目,且基于 MIT License 发布。

Vue 支持哪些浏览器?

最新版本的 Vue (3.x) 只支持原生支持 ES2015 的浏览器。这并不包括 IE11。Vue 3.x 使用的 ES2015 功能无法在旧版本的浏览器中进行兼容,如果你需要支持旧版本的浏览器,请使用 Vue 2.x 替代。

Vue 可靠吗?

Vue 是一个成熟的、经历了无数实战考验的框架。它是目前生产环境中使用最广泛的 JavaScript 框架之一,在全球拥有超过 150 万用户,并且在 npm 上的月下载量超过 1000 万次。

Vue 被世界各地知名且多元的组织在生产环境中使用,包括 Wikimedia 基金会、美国宇航局、苹果、谷歌、微软、GitLab、Zoom、腾讯、微博、哔哩哔哩、快手等等。

Vue 速度快吗?

Vue 3 是性能最强的主流前端框架之一,可以轻松处理大多数 web 应用的场景,并且几乎不需要手动优化。

跑分方面,Vue 在 js-framework-benchmark 中的表现比 React 和 Angular 要好得多。在该基准测试中,它还与一些生产环境下最快级别的非虚拟 DOM 框架并驾齐驱。

请注意,像上面这样的跑分的侧重点在于原始渲染性能在特定情况下的优化,因此不能完全代表真实世界的性能结果。如果你更关心页面加载性能,欢迎用 WebPageTest 或是 PageSpeed Insights 来测试本站。本文档站是一个完全由 Vue 本身构建,通过静态生成预渲染,并在客户端进行 hydration 的单页应用。它在模拟 4 倍 CPU 降速的 Moto G4 + 低速 4G 网络的情况下依然能获得 100 分的性能得分。

你可以在渲染机制章节了解更多关于 Vue 如何自动优化运行时性能的信息,也可以在性能优化指南中了解如何在特别苛刻的情况下优化 Vue 应用。

Vue 体积小吗?

当你通过构建工具使用时,Vue 的许多 API 都是可以“tree-shake”的。例如,如果你不使用内置的 <Transition> 组件,它就不会被包含在最终的生产环境包里。

对于一个 Vue 的最少 API 使用的 hello world 应用来说,配合最小化和 brotli 压缩,其基线大小只有 16kb 左右。但实际的应用大小取决于你使用了多少框架的可选特性。在极端情况下,如果一个应用使用了 Vue 提供的每一个特性,那么总的运行时大小大约为 27kb。

如果不通过构建工具使用 Vue,我们不仅失去了 tree-shaking,而且还必须将模板编译器加载到浏览器。这就使包体积增大到了 41kb 左右。因此,如果你为了渐进式增强在没有构建步骤的情况下使用 Vue,则可以考虑使用 petite-vue (仅 6kb) 来代替。

一些诸如 Svelte 的框架使用了一种为单个组件产生极轻量级输出的编译策略。然而,我们的研究表明,包大小的差异在很大程度上取决于应用中的组件数量。虽然 Vue 的基线大小更重,但它生成的每个组件的代码更少。在现实的场景中,Vue 应用很可能最终会更轻。

Vue 能胜任大规模场景吗?

是的。尽管有一种误解是 Vue 只适用于简单的场景,但其实 Vue 完全有能力处理大规模的应用:

  • 单文件组件提供了一个模块化的开发模型,让应用的不同部分能够被隔离开发。

  • 组合式 API 提供一流的 TypeScript 集成,并为组织、提取和重用复杂逻辑提供了简洁的模式。

  • 全面的工具链支持使得开发体验在应用增长的过程中依然可以保持平滑。

  • 较低的入门门槛和优秀的文档能够显著降低新手开发者的入职和培训成本。

活动
阿里云 最新优惠活动
上云必抢你先知,最新活动劲爆优惠不错过!


小鲸鱼软件开发 | © 2019-至今 | 京ICP备19009129号