为什么我不能从我的计算属性访问我的数据函数?

约翰·W·史密斯

我的数据中有这个:

 data() {
    return {
      hello: "hello",
   }
}

我有一个这样的计算属性:

computed: {
    serviceHello() {
      return {
        sayHello() {
          console.log(this.hello);
        },
        sayHi(){
          console.log("hi");
        }
    }
}

当我在我的mounted中调用我的计算属性时。

this.serviceHello.sayHello(); // console : undefined
this.serviceHello.sayHi(); //console write "hi"

所以我试图看看里面this什么,但只有来自计算(sayHello 和 sayHi)的内容,我无法访问我的数据中的值。

我的问题是,如何data从我的计算中访问我希望sayHello显示hello来自我的数据。

布萨扎布拉欣

只需分配this给一个全局变量并在返回的函数中使用:

new Vue({
  el: "#app",
  data() {
    return {
      message: 'Welcome to Vue !',
    };
  },
  computed: {
    serviceHello() {
      let vm = this //assign it here to a global variable vm
      return {
        sayHello() {
          console.log(vm.message);//use vm here
        },
        sayHi() {
          console.log("hi");
        }
      }
    },
  },
  methods: {
    doSomething() {
      this.serviceHello.sayHello();
      this.serviceHello.sayHi();
    }
  },
  mounted(){
   this.serviceHello.sayHello();
      this.serviceHello.sayHi();
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">

  <h1>{{ message }}</h1>

  <button @click="doSomething">Say hello.</button>
</div>

这工作正常,但这不是计算属性的工作,它应该用于根据其他属性返回一些内容

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我不能从远程访问我的postgres?

为什么我不能从局域网外部访问我的公共 IP 地址?

为什么我不能从网络外部访问我的Web服务器?

为什么我不能从泛型参数访问属性?

为什么我不能访问我的对象成员变量?

为什么我不能从主要途径访问我的吸气剂和二传手?

为什么我不能从另一个PHP页面访问我的静态变量

为什么我不能在PHP函数中访问我的私有变量?

为什么我不能快速访问我的第三级CoreData数据?

为什么我无法从 Firestore 访问我的数据?

为什么这个全局函数不能访问我的全局对象?

为什么我不能从主机访问dockerized npm

为什么我不能从AsyncTask访问全局变量?

为什么我不能从ActionBar访问本机UINavigationBar?

为什么我不能从类访问脚本变量?

为什么我不能从模块外部引用属性集?

为什么我不能从方法更改对象属性

为什么我不能访问对象的属性?

为什么我不能通过 Vue.js 访问我的对象中动态插入的属性?

为什么我不能从函数返回Vec <&str>?

为什么我不能从void函数返回void

为什么我不能从异步函数内部“产生”?

为什么我的函数不能从 ngForm 收集用户输入?

为什么我不能从主函数返回更大的值?

为什么我不能从ioctl函数接收SIGPOLL信号?

为什么我的 Javascript 函数不能从 HTML 运行?

为什么我不能从C中的函数传回链表?

为什么在函数之后无法访问我的变量?

为什么我不能在d3 then函数之外通过索引访问我的JavaScript数组?