Object.defineProperty
Object.defineProperty 是 ES5 引入的方法,用于在对象上定义新属性或修改现有属性。
let obj = {};
Object.defineProperty(obj, 'prop', {
value: 42,
writable: false
});
原创大约 3 分钟
Object.defineProperty 是 ES5 引入的方法,用于在对象上定义新属性或修改现有属性。
let obj = {};
Object.defineProperty(obj, 'prop', {
value: 42,
writable: false
});
当我们只需要监听一个简单对象的少量属性时,Object.defineProperty 可能会有更好的性能。这是因为它不需要创建额外的代理对象。
let obj = {};
Object.defineProperty(obj, 'name', {
get() {
console.log('Getting name');
return this._name;
},
set(value) {
console.log('Setting name');
this._name = value;
}
});
了解Vue的底层架构,是为非web领域提供Vue能力的大前提。Vue核心分为三大块:core,compiler,platform
原文地址:https://juejin.im/post/5cef749451882530810e0626#heading-8
core的作用是依据模板生成对应的虚拟节点——vnode,而后通过diff算法更新视图。所以可以根据生成的vnode,变成你想要的任何东西,不仅仅是在web平台的dom节点。
因为 props 是响应式的,你不能使用 ES6 解构,它会消除 prop 的响应性
如果需要解构 prop,可以在 setup 函数中使用 toRefs 函数来完成。
在编码过程中遇到这样的问题:父组件动态传给子组件一个对象,在子组件里,将这个props赋值给data
代码如下:
// 子组件代码
props: ['loanData'],
data () {
return {
info: this.loanData,
}
},
// 父组件代码
<LoanInfo :loanData=loanData></LoanInfo>
// 其中这个loanData初始值为空,通过接口调用来赋值数据