自动化行业一般桌面程序比较多,最近发现现场有许多网页版的系统,客户说网页系统比较方便,输个IP就能访问了。
确实,这是B/S相对于C/S一个很大的优势。
既然客户喜欢,为了增加自身竞争力,我也得做起来。
但我已经很久没接触网页了,上次写还是用最原始的HTML、CSS和JS。
于是,第一步我决定进行技术选型,了解一下现有的新型网页技术(指前端)。通过一些招聘网、技术群,我发现 Vue 和 React ,这两种技术出现的比较多。所以我决定从这两者中进行选择。稍微了解了下这两者,发现许多人认为两者是差不多的,学了其中一个后,再学另一个会很快。但相对来讲, Vue 可能更适合小白。既然如此,我就选择了从 Vue 开始。
关于Vue是什么,特性、语法怎样,官方文档有详细介绍。
它的网址是https://cn.vuejs.org/
本文主要摘取其中几个重点,记录学习。由于笔者是个Web开发小白,许多基本语法都不清楚,所以有时遇到一些基础知识也会从头去学。
Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。
下面是一个最基本的示例:
// js
import { createApp } from 'vue'
createApp({
data() {
return {
count: 0
}
}
}).mount('#app')
<div id="app">
<button @click="count++">
Count is: {{ count }}
button>
div>
该示例展示了 Vue 的两个核心功能:
你可能已经有了许多疑问——先别急,后续我们会详细介绍每一个细节。现在,请先继续看下去,确保对Vue框架有一个宏观的了解。
声明式,
声明式这个词在其他语言中也会遇到,通俗的解释网上有一大堆,一般会和命令式做比较,声明式就是“告诉机器你要做什么,机器会自己去做”;命令式就是“告诉机器每一步应该怎么做”。可见,声明式代码更加内聚,高度抽象,屏蔽了许多细节。
声明式交代的是一整件事情;命令式是交代每一步怎么行动。
Vue是一个框架,也是一个生态。Vue 的设计非常注重灵活性和“可以被逐步集成”这个特点。
根据你的需求场景,你可以用不同的方式使用 Vue:
为什么将 Vue 称为“渐进式框架”:它是一个可以与你共同成长、适应你不同需求的框架。
我的理解是非常适合边学边用的框架。
在大多数使用了构建工具的Vue项目中,我们可以使用一种类似HTML格式的文件来书写Vue组件,它被称为单文件组件(也被称为 .vue ,英文Single-File Components,缩写为SFC)。顾名思义,Vue的单文件组件会将一个组件的逻辑(JavaScript),模板(HTML)和样式(CSS)封装在同一个文件里。
<script>
export default {
data() {
return {
count : 0
}
}
}
script>
<template>
<button @click="count++">Count is: {{ count }} button>
template>
<style scoped>
button {
font-weight: bold;
}
style>
单文件组件是Vue的标志性功能。如果你的用例需要进行构建,官方推荐用它来编写Vue组件。
这个功能我挺感兴趣的,有点类似自定义控件的感觉,且控件相关的一切都放在一个文件中,
可复用。
Vue的组件可以按两种不同的风格书写:选项式API和组合式API。
使用选项式API,我们可以用包含多个选项的对象来描述组件的逻辑,例如data、methods和mounted。选项所定义的属性都会暴露在函数内部的this上,它会指向当前的组件实例。
<script>
// data() 返回的属性将会成为响应式的状态
// 并且暴露在 `this` 上
data() {
return {
count: 0
}
},
// methods 是一些用来更改状态与触发更新的函数
// 它们可以在模板中作为事件监听器绑定
methods: {
increment() {
this.count++
}
},
// 生命周期钩子会在组件生命周期的各个不同阶段被调用
// 例如这个函数就会在组件挂载完成后被调用
mounted() {
console.log(`The initial count is ${this.count}.`)
}
}
</script>
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
作为新手,我感觉这种选项式特别整洁清晰。
就像在代码中定义了各种下拉选项框,要添加属性,就往选项框中加项;要用某个属性或者方法,只需要选择对应的项即可。
通过组合式API,我们可以使用导入的API函数来描述组件逻辑。在单文件组件中,组合式API通常会与
外部文件支持CORS,则请求成功;否则,报跨域错误