如何从Vue实例读取数据

时间:2018-10-23 19:27:38

标签: javascript html vue.js vuejs2 vue-component

给出以下代码段:

 var title,description,lng,lat,identifier;
 const details = new Vue({
     el: '#detailsLOC',
     data: {
  resultsONE: [],
  resultsImages: [],
  GeoJsonONE: []
 },
 mounted() {
 axios.all([
     axios.get('/getJsonDetails'),
     axios.get('/getJsonDetailsImages'),
   ]).then(axios.spread((response1,response2) => {
    this.resultsONE = response1.data;
    this.resultsImages = response2.data;
    title = this.resultsONE.title;
    description = this.resultsONE.preview_description;
    lng = this.resultsONE.location_lng;
    lat = this.resultsONE.location_lat;
    identifier = this.resultsONE.identifier;
   })).catch( e => {
   console.log(e);
    document.getElementById("app1").style.display = "none";
    document.getElementById("app2").style.display = "none";
    document.getElementById("app3").style.display = "";
 });
 }
 });

我想从resultsONE传输/获取/读取数据,并将其保存在Vue实例之外(并将其存储在我的示例中的这些变量lng,lat,title,...)中。 这两个axios.get都是有效的并且可以正常工作。 你能帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以通过引用data来访问vue实例的instance.$data对象。
这样的Vue实例:

var foo = new Vue({
el: "#app",
data() {
  return {
    bar: "inside data"
  };
},

可以通过foo.$data.bar访问。

完整示例:https://codesandbox.io/s/4wwoxzow97