首页>Program>source

Noob的问题即将到来,所以我提前致歉.我试图开发我的第一个NPM软件包,它的意思是一些简单的函数,这些函数在调用时会将响应数据传递给应用程序。

我一直在使用 npm link 将软件包链接到vuejs应用程序,它似乎可以部分工作.当我打电话给 getPublicData()mounted()中起作用 部分似乎有效.维兹威兹 函数中的一部分确实可以工作并在浏览器控制台中显示数据,但是Im还在尝试将响应数据分配给应用程序端的数组,这是Im遇到的问题。

我确定我遗漏了一些基本知识,但是由于我过去使用过NPM软件包的所有复杂性,因此肯定有一种方法可以将响应数据传递给应用程序吗?

我的代码:

console.log(response.data)

Index.js (NPM Module)

var axios = require("axios") module.exports = { getPublicData (req, res) { axios.get(`http://192.168.0.17:5000/test`) .then((response) => { console.log(response.data) res.send(response.data) }) .catch((error) => { console.log("error"); }); } }

HelloWorld.vue
<script> import dtapp from "dtapp-api" //Linked NPM module export default { data () { return { myData: [], } }, methods: { }, mounted() { this.myData = dtapp.getPublicData(); }, } </script>
最新回答
  • 10天前
    1 #

    您的 getPublicData 函数需要返回数据,因此您的应用程序可以使用它.目前它不返回任何内容。

    这是您可以执行的操作:

    getPublicData () {
        return axios.get(`http://192.168.0.17:5000/test`)
        .then((response) => {
          console.log(response.data)
          return response.data
        })
    }
    

    这将返回一个承诺,因此在应用程序中,您可以执行以下操作:

    mounted() {
       dtapp.getPublicData()
      .then(data => this.myData = data)
      .catch(err => console.log("Error occurred:", err))
    }
    

  • java:如何停止更新变量?
  • css:如何设置带有圆角的垂直线的样式?