const App = {
data() {
return {
pmgao: document.documentElement.clientHeight,
}
},
methods: {
errorHandler() {
return true
},
},
};
const app = Vue.createApp(App);
app.use(ElementPlus);
app.mount("#app");
console.log(app.pmgao);
window.onresize = function () {
let pmg = document.documentElement.clientHeight;
console.log(pmg);
app.$data.pmgao = pmg; //这句报错
}
之前vue2.0可以直接用 app.$data.pmgao = pmg; 更改 3.0里面不行了 求解3.0的外部更改data数据的方法
vue实例没有$data属性了吧,直接在mounted事件中注册onresize事件更新pmgao数据,一下代码测试有效,有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~
<script src="https://unpkg.com/vue@next" data-vue="3.0"></script>
<div id="app">
{{pmgao}}
</div>
<script>
const App = {
data() {
return {
pmgao: document.documentElement.clientHeight,
}
},
mounted() {///////////
window.onresize = ()=> {
let pmg = document.documentElement.clientHeight;
console.log(pmg);
this.pmgao = pmg;
}
},
methods: {
errorHandler() {
return true
},
},
};
const app = Vue.createApp(App);
// app.use(ElementPlus);
app.mount("#app");
</script>
Vue3也是可以的,你应该检查一下是不是其他错误