VUE.js записей не определено - PullRequest
0 голосов
/ 16 ноября 2018

Я создаю приложение, в котором у меня есть список пользователей, и когда я нажимаю на одного пользователя, он переводит меня в профиль конкретного пользователя (Profile.vue).Я использую ASP.NET Core API с Vue.js в качестве внешнего интерфейса.Мой API работает, поэтому, когда я нажимаю на пользователя, я могу видеть данные, поступающие из моей базы данных, используя Chrome dev Tools и Postman.Когда я открываю Vue Dev Tools в Chrome, я вижу, что данные «неопределенные».Например, я просто пытаюсь показать пользователям firstName, чтобы я знал, что это работает.

attached

Так я перенаправляю свою страницу из списка пользователей в профиль определенного пользователя

 methods: {
      editItem(lastName) {
        this.$http.get(`http://localhost:61601/api/GetInquiry/${lastName}`)
        this.$router.push({ path: `/Profile/${lastName}` }) 
      },
      async GetAllInquiries() {
        this.loading = true

        try {
          this.records = await api.GetAllInquiries()
        } finally {
          this.loading = false
        }
      },

Однажды ямаршрутизирую, вот мой Profile.Vue, который будет отображать информацию пользователей

<template>
  <div>
        <h2>Student Info</h2>
        Student Name: {{ records.firstName }}
        <br />

  </div>
</template>

<script>
  import api from '../store/api.js'

  export default {
    data() {
      return {
        records: {
          firstName: this.firstName
        },
      }
    },
    async created() {
      this.GetInquiriesByUser()
    },
    methods: {
      async GetInquiriesByUser() {
        this.loading = true
      },
      post: function () {
        this.$http.get('http://localhost:61601/api/inquiry', {
          firstName: this.firstName
        })
      }
    }
  }
</script>

API.js

import Vue from 'vue'
import axios from 'axios'

const client = axios.create({
  baseURL: 'http://localhost:61601/api/',
  json: true
})

export default {
  async execute(method, resource, data) {
    return client({
      method,
      url: resource,
      data,
    }).then(req => {
      return req.data
    })
  },
  GetAllInquiries() {
    return this.execute('get', '/Inquiry')
  },
  GetInquiriesByUser() {
    return this.execute('get', '/GetInquiry/')
  },
  create(data) {
    return this.execute('post', '/', data)
  },
  update(id, data) {
    return this.execute('put', `/${id}`, data)
  },
  delete(id) {
    return this.execute('delete', `/${id}`)
  }
}

GetInquiryByUser Controller

 [Route("api/[controller]")]
    public class GetInquiryController : BaseController
    {
        private GetInquiryByUser manager;
        public GetInquiryController(IConfiguration config) : base(config)
        {
            manager = new GetInquiryByUser(config);
        }

        [HttpGet("{lastName}")] //api/GetInquiry/yourlastname
        public IEnumerable<InquiryModel> Get([FromRoute]string lastName)
        {
            return manager.GetInquiriesByUser(lastName);
        }
    }

Контроллер запросовполучает список всех пользователей, и мой GetInquiryByUser передает lastName, чтобы получить профиль конкретного пользователя.(в конце концов я передам уникальный идентификатор, просто пока тестирую). Я использую режим хеширования и для vue-маршрутизации.Сначала я не понимал, какой режим я использовал, и у меня была комбинация истории и хэша, но я думаю, что теперь я весь хэш-режим.Если кто-то может указать мне правильные направления, это было бы здорово!Пожалуйста, дайте мне знать, если мне нужно подробности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...