Javascript VueJS获取与路由匹配的信息

Javascript VueJS获取与路由匹配的信息,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我用的是VueRouter。我需要我的用户在直接导航到单个企业时能够看到数据。为了做到这一点,我尝试创建这个方法,该方法循环遍历我的数据,并将路由与数据的属性值相匹配 我有以下方法: methods: { finalItem () { return this.businesses.filter((business) => { return business.link === this.$route.params.listing })

我用的是VueRouter。我需要我的用户在直接导航到单个企业时能够看到数据。为了做到这一点,我尝试创建这个方法,该方法循环遍历我的数据,并将路由与数据的属性值相匹配

我有以下方法:

methods: {
    finalItem () {
      return this.businesses.filter((business) => {
        return business.link === this.$route.params.listing
      })
    }
  }
但我得到的不是返回的业务数据,而是:

边界fn

我也试过这样的方法:

finalItem () {
      return this.businesses.filter((business) => {
        return business.match(this.$route.params.listing)
      })
    }
但是也遇到了同样的问题。

因为finalItem是一个方法,如果您尝试像访问计算属性一样访问它,它将简单地返回该方法的函数定义,从而返回boundFn

将方法更改为计算属性:

computed: {
  finalItem () {
    return this.businesses.filter((business) => {
      return business.link === this.$route.params.listing
    })
  },
}
否则,您需要实际调用该方法:

// in your component's script
console.log(this.finalItem());

// in your template
{{ finalItem() }}

您正在尝试访问finalItem吗?还是最后?您需要执行后一种操作,因为它是一种很好的方法,这很管用:尽管我在访问finalItem.name的等效项时遇到了问题。我将其更改为“计算”,以便在不使用的情况下使用,但仍然在访问属性时遇到问题。啊,这是因为它返回了数组,所以我必须执行finalItem[0]。name。。。谢谢你的帮助,我会接受你的答案。如果你想要一个结果而不是数组,请使用this.businesss.find