read_note
获取远程仓库的分支
git fetch origin --prune
使用 Promise 的例子
let myPromise = new Promise(function(myResolve, myReject) { setTimeout(function() { myResolve("I love You !!"); }, 3000); }); myPromise.then(function(value) { document.getElementById("demo").innerHTML = value; });
let myPromise = new Promise(function(myResolve, myReject) { let req = new XMLHttpRequest(); req.open('GET', "mycar.htm"); req.onload = function() { if (req.status == 200) { myResolve(req.response); } else { myReject("File not Found"); } }; req.send(); }); myPromise.then( function(value) {myDisplayer(value);}, function(error) {myDisplayer(error);} );
this 是什么?
JavaScript this 关键词指的是它所属的对象。 <1> 它拥有不同的值,具体取决于它的使用位置: <2> 在方法中,this 指的是所有者对象。 <3> 单独的情况下,this 指的是全局对象。 <4> 在函数中,this 指的是全局对象。 <5> 在函数中,严格模式下,this 是 undefined。 <6> 在事件中,this 指的是接收事件的元素。 <7> 像 call() 和 apply() 这样的方法可以将 this 引用到任何对象。
方法中的 this
在对象方法中,this 指的是此方法的“拥有者”。 在本页最上面的例子中,this 指的是 person 对象。 person 对象是 fullName 方法的拥有者。
fullName : function() { return this.firstName + " " + this.lastName; }
向类方法发送参数:
class Car { constructor(name, year) { this.name = name; this.year = year; } age(x) { return x - this.year; } } let date = new Date(); let year = date.getFullYear(); let myCar = new Car("Ford", 2014); document.getElementById("demo").innerHTML = "My car is " + myCar.age(year) + " years old.";
vue的bus总线
$bus 思路是在全局挂载一个实例,通过这个实例里的事件派发和事件监听实现跨组件通信,设计模式叫做观察者模式。
使用场景:跨多层级组件传参,不顺路要坐bus。
第一步: 创建一个$bus对象 (main.js)
class Bus { constructor(){ this.callbacks = {} } $on(name, fn){ this.callbacks[name] = this.callbacks[name] || [] this.callbacks[name].push(fn) } $emit(name, args){ if(this.callbacks[name]){ this.callbacks[name].forEach(cb => cb(args)) } } }
第二步: 实例化Bus并挂载到vue全局上 (main.js)
Vue.prototype.$bus = new Bus();
经过上面两个步骤我们就创建了一个全局的$bus对象,并且可以随时随地调用它里面的$on和$emit方法。
第三步:
1: 在需要讲数据传递出去的组件里做事件派发,即调用$emit方法
2: 第一个参数是事件名称,第二个参数是要传递的数据
this.$bus.$emit("event1","somethings from helloworld");
第四步: 在需要接收数据的组件里做事件监听,即调用$on方法,监听的方法一般写在mounted里面
this.$bus.$on("event1",function(aaa){ console.log(aaa) })
使用 Bus 总线的弊端: 在订阅事件的组件里,一定要在组件销毁之前把监听事件也手动销毁一下。如果不销毁,会累积多次创建监听事件,一旦在B组件里触发了事件发布,组件A就会执行多次事件。
vuex 的执行流程
每一个 Vuex 应用的核心就是 store,里面又包括:
(1)state(数据):用来存放数据源,就是公共状态;
(2)getters(数据加工):有的时候需要对数据源进行加工,返回需要的数据;
(3)actions(事件):要执行的操作,可以进行同步或者异步事件
(4)mutations(执行):操作结束之后,actions 通过 commit 更新state数据源
(5)modules:使用单一状态树,致使应用的全部状态集中到一个很大的对象,所以把每个模块的局部状态分装使每一个模块拥有本身的 state、mutation、action、getters、甚至是嵌套子模块;
vuex的工作流程就是:
(1)通过dispatch去提交一个actions,
(2) actions接收到这个事件之后,在actions中可以执行一些异步|同步操作,根据不同的情况去分发给不同的mutations,
(3)actions通过commit去触发mutations,
(4)mutations去更新state数据,state更新之后,就会通知vue进行渲染
自动生成注释头部
-
文件头注释(CTRL+ALT+I)
-
函数注释(CTRL+ALT+T)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了