1 前端的发展史
-javascript=ECMAScript(5,6,13) + Dom + Bom
-异步JavaScript和XML
-咱们学的是jq的ajax函数
2 Vue介绍 和 基本使用
与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用
Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合
-model:前端的数据,在js中,js的变了
-view:我们看到的,css,html
-vm:负责,只要js数据变了,view页面就发生变化,只要页面发生变化,js变量就跟着变
-最新:vue4,没有公司在用
-公司主流:新项目基本会有Vue3,老项目继续用vue2
-咱们都讲
3 Vue之第一个helloworld
-python---》Pycharm
-前端:
webstorm:(jetbrains公司的,使用习惯跟Pycharm)
vscode:免费
Sublime Text
vim
-我选择使用Pycharm,它就是webstorm
- pycharm中要安装vue插件才能在写vue的时候自动出现相关语法
- pycharm---->settings--->Plugins---->Vue.js
-1 下载vue源码,放在项目中 https://cdn.jsdelivr.net/npm/vue/dist/vue.js
-2 写一个html页面,引入vue,script
-3 在body中写一个div,定义一个id
-4 写js代码,new一个实例,传入配置项
-5 在被vue管理的标签中,就可以写vue的差值语法{{}},写指令 v-xx
<!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:'lqz'
}
})
</script>
</html>
数据(js)和 DOM (页面)已经被建立了关联,所有东西都是响应式的
js就是一门解释型语言,只不过js解释器被集成到了浏览器中
所以,在浏览器的Console中输入命令,就和在cmd中输入python后,进入交互式环境一样
把chrome的v8引擎(解释器),安装到操作系统之上
4 插值语法
<!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>-----数组,对象会强行转换成字符串显示在页面中,vue是在前端渲染页面-----</p>
<p>简单表达是:{{1 + 1}}</p>
<p>三目运算符【条件?符合条件执行这个:不符合条件】:{{10>2?'正确':'不正确'}}</p>
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
name: 'lqz',
age: 19,
hobby: ['篮球', '足球', 'spa'],
wife: {name: '刘亦菲', age: 38},
a: '<a href="http://www.baidu.com">点我看美女</a>'
}
})
</script>
</html>
4 文本指令
v-指令名='写原来插值能写的东西'
v-指令名='name'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
文本指令之 v-text,把变量渲染在标签内部:<span v-text="a"></span>
<br>
插值语法:<span>{{a}}</span>
<br>
文本指令之v-html,把标签类型的字符串直接渲染成标签:<span v-html="a"></span>
<h2>v-if的使用,只能写条件,或布尔类型的变量</h2>
<div v-if="is_show">
我是个div---v-if的使用
</div>
<br>
<h2>v-show的使用</h2>
<div v-show="is_show">
我是个div---v-show的使用
</div>
<br>
</div>
</body>
<script>
var vm = new Vue({
el: '#app',
data: {
a: '<a href="http://www.baidu.com">点我看美女</a>',
is_show: false,
}
})
</script>
</html>
5 事件指令
- v-on:事件名='函数名',配置项中写methods:{函数}
- es6语法之对象的简写形式
- var obj={'key':"value","key1":"value2"} ===> var obj={key:"value",key1:"value2"}
- var name='queque' var obj={"name":name}===>var obj={name}
- var f=function(){} var obj={f}.
- methods{handleclick:function{}} ==> methods{handleclick(){}}
可以简写成:
@事件='函数名'
作业
----扩展----
setInterval是一个实现定时调用的函数
属性指令
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端