前端的发展史

# 1 HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面 -> 给后端(PHP、Python、Go、Java) -> 后端嵌入模板语法 -> 后端渲染完数据 -> 返回数据给前端 -> 在浏览器中查看
javascript=ECMAScript(5,6,13) + Dom + Bom # 2 Ajax的出现 -> 后台发送异步请求,Render+Ajax混合
-异步JavaScript和XML # 3 单用Ajax(加载数据,DOM渲染页面):前后端分离的雏形 # 4 Angular框架的出现(1个JS框架):出现了“前端工程化”的概念(前端也是1个工程、1个项目) # 5 React、Vue框架:当下最火的2个前端框架(Vue:国人喜欢用,React:外国人喜欢用) # 6 移动开发(Android+IOS) + Web(Web+微信小程序+支付宝小程序) + 桌面开发(Windows桌面):前端 -> 大前端 # 7 一套代码在各个平台运行(大前端):谷歌Flutter(Dart语言:和Java很像)可以运行在IOS、Android、PC端 # 8 在Vue框架的基础性上 uni-app:一套编码 编到10个平台 # 9 在不久的将来 ,前端框架可能会一统天下

Vue介绍和基本使用

# Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式js框架
与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用
Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合 # M-V-VM思想:MVVM 是Model(数据)-View(视图)-ViewModel(vm) 的缩写,它是一种基于前端开发的架构模式,是一种事件驱动编程方式
-model:前端的数据,在js中
-view:我们看到的,css,html
-vm:负责,只要js数据变了,view页面就发生变化,只要页面发生变化,js变量就跟着变
# MTV,MVC,MVP,MVVM # 组件化开发、单页面开发(单页面应用:spa) # 版本
-最新:vue4,没有公司在用
-公司主流:新项目基本会用Vue3,老项目继续用vue2

Vue之第一个helloworld

# 编辑器的选择
-python---》Pycharm
-前端:
webstorm:(jetbrains公司的,使用习惯跟Pycharm基本一致)
vscode:免费
Sublime Text
vim # 下载
https://cdn.jsdelivr.net/npm/vue/dist/vue.js # vue2:文档地址 https://v2.cn.vuejs.org/v2/guide/
# vue3:文档地址 https://cn.vuejs.org/guide/introduction.html # 响应视的
数据数据(js)和 DOM (页面)已经被建立了关联,所有东西都是响应式的 #补充: 解释型的语言是需要解释器的
js就是一门解释型语言,只不过js解释器被集成到了浏览器中 所以,在浏览器的Console中输入命令,就和在cmd中输入python后,进入交互式环境一样 # nodejs:一门后端语言
把chrome的v8引擎(解释器),安装到操作系统之上
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
{{s}}
<h1>{{name}}</h1>
</div>
</body>
<script>
var vm = new Vue({
el:'#app',
data:{
s:'hello world',
name:'哈哈哈',
}
})
</script>
</html>

插值语法

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<p>字符串:{{name}}</p>
<p>数字:{{age}}</p>
<p>数组:{{hobby}}-----{{hobby[1]}}</p>
<p>对象:{{wife}}------{{wife['name']}}---------{{wife.age}}</p>
<p>标签形式字符串:{{a}}--->说明不存在xss攻击</p>
<p>-----插值语法,还可以放,简单表达式和函数(后面了)-----</p>
<p>简单表达式:{{1+1}}</p>
<p>三目运算符【条件?符合条件执行这个:不符合条件】:{{10>2?'正确':'不正确'}}</p>
</div>
</body>
<script>
var vm = new Vue({
el:'#app',
data:{
name:'xxx',
age:19,
hobby:['篮球','足球','spa'], // js 就叫数组
wife:{name:'qqq',age:20}, // js 就叫对象
a:'<a href="http://www.baidu.com">点我看好看的</a>' // 标签形式字符串
}
})
</script>
</html>

文本指令

# pycharm需要安装插件,才能有提示----->settings---->Plugins----->Vue

# 指令系统:写在标签上,v-开头的标签,称之为指令,每个指令都有特殊用途
v-指令名='写原来插值能写的东西'
v-指令名='name' # 变量 # v-text:把变量渲染在标签内部
# v-html:把标签类型的字符串直接渲染成标签
# v-if:控制标签显示与否,直接删除或者加入标签
# v-show:控制标签显示与否,通过样式的display: none;控制显示与否
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<span v-text="a"></span>
<hr>
<span>{{a}}</span>
<hr>
<span v-html="a"></span>
<hr>
<h2>v-if的使用,只能写条件,或布尔类型的变量</h2>
<div v-if="is_show">
我是一个div---v-if的使用
</div>
<hr>
<h2>v-show的使用</h2>
<div v-show="is_show">
我是一个div---v-show的使用
</div>
</div>
</body>
<script>
var vm = new Vue({
el:'#app',
data:{
a:'<a href="http://www.baidu.com">点我看好看的</a>',
is_show:true,
}
})
</script>
</html>

事件指令

# 用的最多的就是点击事件,给某个标签绑定一个点击事件,当点击一下,就执行某个函数

# 使用方式
v-on:事件名='函数名'
# 重点:v-on:事件='函数名'
可以简写成:
@事件='函数名'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<img :src="isActive?'img/1.png':'img/2.png'" alt="" v-if="is_show">
<br>
<br>
<div>
<button @click="hidden">点我隐藏</button>
<button v-on:click="change">点我切换</button>
</div>
<br>
<br>
<button v-on:click="handleClick">点我看好看的</button>
</div>
</body>
<script>
var vm = new Vue({
el:'#app',
data:{
is_show: true,
img:'img/1.png',
isActive:true,
},// data配置项中,放数据,变量
methods:{
// 用的少
// 'handleClick':function(){
// alert('你个2杯')
// }, // 以后都用这种
handleClick(){
alert('你个2杯')
},
hidden(){
this.is_show = !this.is_show
},
change(){
this.isActive = !this.isActive
},
}
}) // es6的对象简写成
// var d = {'name':'xxx','age':19}
// 简写成
// var d = {name: 'xxx',age: 19}
// 简写成
// var name = 'xxx'
// var age = 19
// var f = function(){
// alert('2杯')
// }
// 简写成 这个
// var d = {name:name,age:age,f}
// 最终简写成 等同于{name: name, age: age,f:function (){}}
// var d = {name,age,f(){}}
// console.log(d)
</script>
</html>

Vue——前端发展史、Vue介绍和使用、插值语法、文本指令、事件指令的更多相关文章

  1. 【Vue前端】Vue前端注册业务实现!!!【代码】

    用户注册前端逻辑 1. Vue绑定注册界面准备 1.导入Vue.js库和ajax请求的库 <script type="text/javascript" src="{ ...

  2. vue 前端框架 目录

    vue 前端框架 目录   vue-目录 ES6基础语法 vue基础语法 Vue.js的组件化思想 —上 Vue.js的组件化思想 —下 Vue + Vue-Router结合开发 SublimeSer ...

  3. [Vue入门及介绍,基础使用、MVVM架构、插值表达式、文本指令、事件指令]

    [Vue入门及介绍,基础使用.MVVM架构.插值表达式.文本指令.事件指令] 1)定义:javascript渐进式框架 ​ 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面 ...

  4. 可能是目前最完整的前端框架 Vue.js 全面介绍

    Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架. 摘要 2016年最火的前端框架当属Vue.js了,很多使用过vue的程序员这样评价它,“vue.js兼具angul ...

  5. 【入门篇】前端框架Vue.js知识介绍

    一.Vue.js介绍 1.什么是MVVM? MVVM(Model-View-ViewModel)是一种软件架构设计模式,它源于MVC(Model-View-Controller)模式,它是一种思想,一 ...

  6. Vue.js教程 1.前端框架学习介绍

    Vue.js教程 1.前端框架学习介绍 什么是Vue.js 为什么要学习流行框架 什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站, ...

  7. vue前端实现将页面显示内容生成pdf文件的几种方法,html2canvas、dom-to-image、jspdf(带分页)基本使用以及介绍

    实际开发需求:vue项目中,根据数据结构生成echarts图表组件,生成带有样式的图表以后,点击下载按钮,把图表以pdf格式的文件下载到本地 实现思路:将vue界面的echarts组件生成图片,然后使 ...

  8. 前端框架VUE

    Vue Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vu ...

  9. Vue前端框架基础+Element的使用

    前置内容: AJAX基础+Axios快速入门+JSON使用 目录 1.VUE 1.1 概述 1.2 快速入门 1.3 Vue指令 1.3.1 v-bind & v-model 指令 1.3.2 ...

  10. 0基础菜鸟学前端之Vue.js

    简介:0基础前端菜鸟,啃了将近半月前端VUE框架,对前端知识有了初步的了解.下面总结一下这段时间的学习心得. 文章结构 前端基础 Vue.js简介 Vue.js常用指令 Vue.js组件 Vue.js ...

随机推荐

  1. opencv-python 2 图像基本操作

    图像的基本操作 获取并修改图像的像素值 可以通过行和列的坐标值获取该像素点的像素值.对于BGR图像,它返回一个蓝色,绿色,红色值的数组.对于灰度图像,仅返回相应的强度值. 可以用同样的方法修改像素点的 ...

  2. Prometheus服务发现之kubernetes_sd_config

    一.为什么要使用Prometheus服务发现 之前我们讲过通过配置prometheus-operator的CRD ServiceMonitor来达到K8S集群相关组件和微服务的监控的目的,可以在Ser ...

  3. 手动实现一个call bind

    一.call的实现(apply类似) //完成版 Function.prototype.setCall = function (obj){ var object = obj || window let ...

  4. Object.toString与Object.prototype.toString区别

    1.Object原型链上的toString方法可以用于对象类型的判断,如常用的区分数组与普通对象. 例如: Object.prototype.toString.call(''); //[object ...

  5. vue-router面试题

    1.vue-router怎么重定向页面? 答:路由中配置redirect属性 2.vue-router怎么配置404页面? 答:path: '*' 是对的 但是应该放在最后一个 3.切换路由时,需要保 ...

  6. 大语言模型快速推理: 在 Habana Gaudi2 上推理 BLOOMZ

    本文将展示如何在 Habana Gaudi2 上使用 Optimum Habana.Optimum Habana 是 Gaudi2 和 Transformers 库之间的桥梁.本文设计并实现了一个大模 ...

  7. [智能制造] 如何利用生产软件(MES)进行生产信息收集?

    1 如何保证生产管理软件所收集信息的准确性? 1.1 当前制造企业使用MES系统收集信息的现状 原以为使用了MES生产管理系统后,会得到稽核员的肯定. 但没想到,在实际的稽核过程中,稽核员还是发现目前 ...

  8. SpringBoot项目中使用缓存Cache的正确姿势!!!

    前言 缓存可以通过将经常访问的数据存储在内存中,减少底层数据源如数据库的压力,从而有效提高系统的性能和稳定性.我想大家的项目中或多或少都有使用过,我们项目也不例外,但是最近在review公司的代码的时 ...

  9. Java设计模式 —— 组合模式

    11 组合模式 11.1 组合模式概述 Composite Pattern: 组合多个对象形成树形结构以表示具有部分-整体关系的层次结构.组合模式使得客户端可以统一处理单个对象和组合对象. 组合模式关 ...

  10. Android Activity的事件分发机制-源码解析

    查看Activity的dispatchTouchEvent方法: public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getActio ...