- 博客(26)
- 收藏
- 关注
原创 对promise的理解
返回的是一个promise对象,这个promise可以是成功也可以是失败,成功时返回resolve,失败时返回reject。当所有返回值为resolve时执行链式调用,否则抛出异常,一般用于需要等所有接口都返回时再执行下一步,或者用于表单校验。promise,前端用于处理异步操作的一种技术,通过获取操作的结果来执行下一步或处理异常。使用promise会返回一个promise对象,
2024-07-17 16:51:51 183
原创 再谈Echarts
ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。官网链接。
2024-05-08 17:45:43 386
原创 尚硅谷项目——尚医通(2)
进行src别名配置不用再根据相对路径引入文件,有效防止引入时地址错误,找到 vite.config.ts 配置文件!观察项目,大致分为上中下结构,所以我们可以将整个项目分为三个层次,并且顶部和底部要保持显示,中间为路由切换。在index.js文件我对路由跳转做了其他配置,首页重定向到home页面,点击路由跳转时自动回到页面顶部。中间为路由组件,当点击不同界面时进行跳转,初步拆分为医院首页路由和医院详情路由,后续根据情况不同做修改。目前顶部只做静态展示,后续登录逻辑逐步添加,css部分已省略。
2023-12-12 11:57:10 460
原创 尚硅谷项目——尚医通(1)
这个项目我从一个月前开始启动,本次采用的是是vue3+ts+vite上传到GitHub仓库中,那么如何创建一个项目并上传到GitHub上呢。
2023-12-11 18:04:55 773
原创 v-model实现双向数据绑定原理
v-model本质上是语法糖,将value与组件标签进行绑定,即属性绑定和事件绑定,当用户行为触发标签身上的事件时会自动让value更新。
2023-12-06 10:47:38 470
原创 uni-app- 网络请求、数据缓存、图片上传和预览
在 detail.vue 页面中 设置三个按钮,分别用于 将 data 存储在本地缓存中、取指定 key 对应的内容、移除指定 key。将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。在 detail.vue 页面中为按钮配置点击事件,并点击按钮后发送get请求。可直接查看 uni-app官方文档 - 媒体 - 图片,更为细致。
2023-08-17 23:52:26 365 1
原创 vue配置vuex,vuex模块化
在store文件中引入vuex,若在mian.js文件中引入会报错,因为import语句变量提升,在store中找不到要使用的vuex,因此会报错。也是接两个参数,第一个参数是state对象,第二个参数是传过来的数据,就是仓库中的属性,将数据添加到仓库身上。注意Vue2一定要安装vuex3,如果是vue3可以直接。getters用于数据的加工,将数据处理成好写的方式。这个函数来接(做菜),一般都写成。3.用mapGetters。展示数据,1.用计算属性。对应函数的大写,意思是。2.用mapState。
2023-08-07 16:28:06 166
原创 vue(9) 解决浏览器跨域问题,github案例,三种插槽的方式
说明:跨域就是违反同源策略,同源策略就是协议、域名、端口号三个必须完全一样解决跨域请求数据问题,要么让后端加上那个Access-Control-Allow-Origin', '*',要么用jsonp的script的src属性,但这两种用的不多,我们还有第三种方式,那就是借助一个代理服务器,其端口号和请求端口号一致(这里以8080举例)解决浏览器跨域问题,四个方式,Ajax原生,库,fetch,axios,除了fetch(兼容性较差),其他都是基于Ajax原生封装,通常采用axios发送请求。
2023-07-30 11:16:46 182 2
原创 vue(7) todoList案例
三:涉及组件的一些方法和不同组件修改数据要对其他组件产生影响,也可以用到props配置项,子组件向父组件传值时,要父组件给子组件一个函数,然后在子组件通过某些方法调用这个函数将值传回去,例如下面代码,将函数传给Header,再在Header中调用这个函数。兄弟组件之间要想进行通信,目前所有方法都是写在App.vue中,通过子组件向父组件传值完成每个小功能,因为数据通过App.vue时会重新进行计算,所以每个组件拿到的值都是最新值,但是要想直接通过两个兄弟组件进行传值,又该如何操作呢。
2023-07-21 22:44:26 62 1
原创 vue(6)props配置项,mixin(混入),scoped属性
可以接受其他组件传过来的数据1.先在其他组件写好要传递的数据一般来说要进行数据的修改,因此属性名前面要加:2.接受数据2.3限制类型,指定默认值接收注意:1.props的优先级最高,有重名的数据先读取这里面的数据2.一般不在props中修改数据,如果要修改的话可现在data中重新创建一个对象,让它指向要修改的数据// 混合:可以把多个功能相同的配置提取成一个对象。
2023-07-21 17:12:43 216 1
原创 vue(5) 单文件,配置脚手架、分析脚手架结构,ref属性
1.创建组件,template里面插入数据2.将组件暴露出去,暴露在App.vue中3.写一个main.js文件,再次暴露4.在HTML中引入main.js2)App.vue3)main.js。
2023-07-20 10:33:52 68
原创 vue(4)组件的使用
第一个是组件名,第二个是组件对象,使用全局注册是要将它写在new Vue上面,否则其他局部注册时就找不到这个使用全局注册的组件,因为已经渲染到页面上去了,然后就不用再在components里面写入了。组件概念:我理解为是一个功能或模块的封装,将每个板块单独写成一部分再集合到App中,哪里需要就在哪里引入,api:一个程序到另一个程序的接口,调用。组件的使用:1.创建组件 2.注册组件 3.使用组件(组件标签,脚手架中可使用自闭和标签)(2):在new vue配置中,this指向是vue的实例对象。
2023-07-16 12:15:22 121 1
原创 vue(3)
模板语法,可以将标签卸载里面,需注意的是只能有一个根节点,不能同时并列写多个标签,且换行要用``(要有一个根节点才生成dom树)。:数据创建完毕,数据监测,数据代理,开始解析模板,生成虚拟dom,此时不显示内容。:在挂载之前,未经编译的dom,存入真实dom,所有对dom的操作都不奏效。:此时呈现的是真实dom,挂载完毕,可以进行操作,至此初始化过程结束。1.mounted:发送ajax请求,启动定时器,绑定事件等。:数据更新完成,此时页面也是新的。大多数情况下不能调用此方法。:数据更新,但页面未变。
2023-07-11 22:38:51 45
原创 Vue(2)
同理,先在data中创建两个对象,用作更新后的函数名,形参为初始值,改变值,谁改变就监视谁,可以不用写返回值,计算属性能实现的都能用监视属性实现,且监视属性可以实现异步处理,计算属性当数据发生改变时才会重新计算,且其默认方法是get(),参考资料来自。写法2:computed:{ 返回值:{get(){ 代码块 } } }计算属性的返回值就是函数名,将返回值作为插值语法渲染到页面当中。本人更愿意使用第一种方法,更简单简洁。
2023-07-01 20:25:40 37
原创 初识vue
如上,想要在原有数据中更新内容,且此时输入框有东西,若在最后一行加入数据则不影响,因为id默认在最后一个,当要在非最后一排添加数据时,则会错位,因为id发生了变化,js底层工作原理是利用key值,先对比相同的key值,若原虚拟dom与更新后的虚拟dom一样,则将内容不变渲染到真实dom上,此时就发生了错位,因此,为避免该情况发生,需要给每个dom元素设置唯一的key值。
2023-06-30 19:55:24 51
原创 安装nodemon
nodemon:基于node,可以帮我们自动重启应用,当文件内容修改时。2.在根目录下安装 npm install -g nodemon。3.使用nodemon xxx.js启动服务。后续修改js文件时直接刷新即可。1.要先安装node.js。
2023-05-17 11:38:34 136
原创 初识AJAX
/事件绑定,处理服务端返回的结果,on,当什么的时候,readystate(表示状态),0(未初始化),1(调用open方法完毕),2(调用send方法完毕),3(表示服务端返回部分结果),4(服务端返回所有结果) change:改变。:Asyncronous JavaScript And XML,异步的JS和XML,向服务器发送异步请求,无刷新获取数据和服务器进行通信,它不是新的语言,是将现有标准组合在一起的新方式。:一种规则,约定了两块,客户端给服务器发送内容:请求报文,返回内容:响应报文。
2023-05-16 11:35:54 52 1
原创 es6(5)[算是完结了]
json:轻量级的数据交换格式,基础数据结构:对象{key:value,key:value}和数组["xxx","xxx","xxx"]必须写在async函数里【单项依赖】,右侧为primise对象,返回的结果是成功的promise的值,失败了需要捕获处理。判断数组中是否存在某个值(includes),存在返回true,以前用indexOf判断,不存在时返回-1。kexie:["JAva","后端","前端"]dress:["北京","上海","深圳"],正则扩展—->命名捕获分组:对分组匹配的结果命名。
2023-05-14 08:44:16 36
原创 es6get,set方法,数值扩展,对象扩展及模块化引入相关概念
/注意:如果在引入不同模块时出现了相同的变量名时,可以import{变量 as 新的变量名 ,变量2}from "./xxx.js"另一种模块引入形式:因为HTML文件中存在大量代码,所以可以将模块打包在另一个模块中,然后再在HTML代码引入新打包的模块,注意:要写在末尾。// 因为a,b都是浮点数所以不相等,用这个方法让差值小于最小数,则把它们看作相等,是我们自己把这两个数设置为相等,它们本质上是不相等的。//这里的a大概是个对象?:import{变量1,变量2} from"./xx.js"
2023-05-10 22:57:52 319
原创 es5及es6关于继承的知识点
通过class关键字可以定义类,es6class看作一个语法糖,面向对象编程。:extends关键字,super()获取父类的属性,声明一个对象。静态成员:【函数对象和实例对象的属性不相同】,函数对象成为静态成员。p.name//未定义,因为实例对象不能调用函数对象。构造函数调用方法只能通过对象调用,这个是实例对象上的方法。console.log("子类的同名方法")//console.log("我可以改变世界"):在子类声明一个与父类同名的方法。// 给对象添加属性和方法。不能直接调用父类的方法。
2023-05-09 00:53:58 56 1
原创 es(3)
es6规定,默认的iterator接口部署在symbo.iterator属性,即为可便利的,生成迭代器对象。// 第一次创建一个指针对象,到当前起始位置,然后调用next方法指向第一个成员,不断调用直至结束。一种类似于字符串的类型,symbol的值不能进行数据运算,不能用for in 遍历。Set结构:类似于数组,但成员的值是唯一的没有重复的值【数组去重】让页面跟着dom刷新。Map结构:类似于对象,也是键值对的集合。// set实例属性方法。迭代器:自定义遍历数据。为各种数据结构提供访问。
2023-05-08 22:38:02 65 1
原创 es6(2)
创建完【pendding】状态,执行异步操作,成功执行fulfilled,新的promise对象,promise.then(成功回调函数),失败执行rejected状态,失败回调,新的promise对象。申明一个对象,先执行某个函数,然后pro.then成功执行某个函数,失败执行某个函数。promise.rase:谁先执行完就选择什么结果,部署在不同的服务器,保障得到数据。ajax封装没有听懂,后期记得回来补!永远以执行zui快异步任务为准!未完成,成功,失败,状态转换。
2023-05-07 17:51:08 35 1
原创 es6(1)
console.log(arr)//因为常量保存的是一个地址值,修改地址值的数据没有改变地址值,若arr=1,则修改了地址值---------------------------------------------------------------------------------------------上面代码中,存在全局变量tmp,但是块级作用域内let又声明了一个局部变量tmp,导致后者绑定这个块级作用域,所以在let声明变量前,对tmp赋值会报错。凡是在声明之前就使用这些变量,就会报错。
2023-05-07 17:07:53 50 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人