问答

Vue新手,请教一些基础的问题

作者:admin 2021-04-22 我要评论

问题描述 本人是vue的新手,在进行学习的时候,使用ant design vue 自动创建的vue demo开发。在这个过程中把自己得混乱了,主要是关于vue实例调用的。 App.vue文...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

问题描述

本人是vue的新手,在进行学习的时候,使用ant design vue 自动创建的vue demo开发。在这个过程中把自己得混乱了,主要是关于vue实例调用的。
App.vue文件:

export default {
 data() {

 return {
      a:100,
      b:200,
 };
 },
 methods:{
 myfun(){
 console.log(this);
 },
 },
 };

在main.js中,使用的是默认生成的方案创建Vue实例:

import App from './App';
var vue=new Vue({
    render: h => h(App),
});
vue.$mount('#app');

此时有一个需求是能够访问新创建的实例的属性'a'以及函数myfun()

console.log(vue.$data.a);
console.log(App.data().a);

但是第一行返回的值是undefined,第二行能够正确返回属性a的值。
于是我就认为App.才是正确调用的方式,并使用它调用了myfun()

App.methods.myfun();

然后奇怪的情况出现了,myfun里的log(this)打印的是methods这个对象而不包含App的data等其他成员,让我无法达到预期的目标,可能是太新手的缘故,查了半天找不到类似的问题。
我主要疑惑的是,new一个Vue对象出来后,vue作为实例应该是可以调用类的成员函数和成员呀,我大概是按照以前写cpp的思路考虑的,所以被搞得有点头疼。
所以想请教一下各位大神,一个新创建的Vue对象是如何访问其成员及成员函数的?

###

这个最好还是通过event-bus来处理,因为你可能不知道你的组件层级有多深

var vue = new Vue(/*...*/)

// 访问组件数据
console.log('访问数据:', vue.$children[0].a)

// 执行组件方法
vue.$children[0].myfun()

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Vue新手,请教一些基础的问题

    Vue新手,请教一些基础的问题

  • 请问用swift编译出的framework如何实现

    请问用swift编译出的framework如何实现

  • 实例化一个长类 vs 数个短类,谁效率低

    实例化一个长类 vs 数个短类,谁效率低

  • nest.js同一个document使用mongoose的p

    nest.js同一个document使用mongoose的p

腾讯云代理商
海外云服务器