前端的发展史
# 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引擎(解释器),安装到操作系统之上
Title <script src="js/vue.js"></script> {{s}}
{{name}}
<script> var vm = new Vue({ el:"#app", data:{ s:"hello world", name:"哈哈哈", } })</script>
插值语法
Title <script src="js/vue.js"></script> 字符串:{{name}}
数字:{{age}}
数组:{{hobby}}-----{{hobby[1]}}
对象:{{wife}}------{{wife["name"]}}---------{{wife.age}}
标签形式字符串:{{a}}--->说明不存在xss攻击
-----插值语法,还可以放,简单表达式和函数(后面了)-----
简单表达式:{{1+1}}
三目运算符【条件?符合条件执行这个:不符合条件】:{{10>2?"正确":"不正确"}}
<script> var vm = new Vue({ el:"#app", data:{ name:"xxx", age:19, hobby:["篮球","足球","spa"], // js 就叫数组 wife:{name:"qqq",age:20}, // js 就叫对象 a:"点我看好看的" // 标签形式字符串 } })</script>
文本指令
# pycharm需要安装插件,才能有提示----->settings---->Plugins----->Vue# 指令系统:写在标签上,v-开头的标签,称之为指令,每个指令都有特殊用途v-指令名="写原来插值能写的东西" v-指令名="name" # 变量 # v-text:把变量渲染在标签内部# v-html:把标签类型的字符串直接渲染成标签# v-if:控制标签显示与否,直接删除或者加入标签# v-show:控制标签显示与否,通过样式的display: none;控制显示与否
Title <script src="js/vue.js"></script>
{{a}}
v-if的使用,只能写条件,或布尔类型的变量
我是一个div---v-if的使用
v-show的使用
我是一个div---v-show的使用
<script> var vm = new Vue({ el:"#app", data:{ a:"点我看好看的", is_show:true, } })</script>
事件指令
# 用的最多的就是点击事件,给某个标签绑定一个点击事件,当点击一下,就执行某个函数# 使用方式v-on:事件名="函数名"# 重点:v-on:事件="函数名"可以简写成:@事件="函数名"
Title <script src="js/vue.js"></script>
<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>
关键词: