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

posted @   田心夂  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示