当前位置: 首页 > Web前端 > HTML

Vue 与 Element-ui 常见问题解决

时间:2023-04-02 12:37:44 HTML

5.什么时候使用Object.freeze()当你有一个数据(比如tableData),页面上有一个查询按钮,每次点击查询都会重新赋值tableData,那么这个tableData需要放在data(例如Responsivedata),并且你不会更改tableData中的属性(例如重新分配tableData中的元素),那么你可以这样做来提高性能。data(){return{tableData:Object.freeze([]),}}6.provide和inject的使用我现在使用的场景是有组件关系A->B->C(A是B的父组件,B是C的父组件),现在C要调用A中的方法,可以这样写::{methodName(){...}}}C组件:exportdefault{inject:['methodName'],methods:{otherMethod(){this.methodName()}}}总结:就是实现调用C(后代组件)组件中没有使用B组件A方法。需要注意的是,provide、inject是一种单向无响应的数据或方法传递。例如,当A组件的someData改变时,不会导致C组件的视图更新。组件:exportdefault{provide(){return{someData:this.someData,}},data(){return{someData:null}},methods:{methodName(){this.someData='123'}}}C组件:exportdefault{inject:['someData'],}7、子组件调用父组件的方法,并子组件需要通过回调获取父组件方法的执行结果。父组件A:...handleChange(val,callback){this.value=val;回调(“你好”);}子组件B:handleChange(e){this.$emit('change',e.target.value,val=>{console.log(val);//hello});},