1.Ref 和ShallowRef的区别
1.1Ref是深层次的响应原理,ShallowRef是浅层次的响应原理只监听一层;
import { ref, isRef, shallowRef, customRef, reactive, readonly } from "vue";
import type { Ref } from "vue";
type M = {
name: string;
};
const Man3 = { name: 1 };
const Man: Ref<M> = ref({ name: "小曼" });
const sMan: Ref<M> = shallowRef({ name: "s小曼" });
sMan.value = {
name: "s阿曼",
};
1.2 customRef的例子
function Myref<T>(value: T) {
return customRef((track, trigger) => {
return {
get() {
track();
return value;
},
set(newval) {
value = newval;
trigger();
},
};
});
}
const obj = Myref<string>("小曼");