首页 > 解决方案 > 根据您是 VUE.js 的路线通过 $emit 发送参数的条件

问题描述

如果根据用户所在的路线,我想知道如何创建条件

    refreshData (){
      var params = {};
      for (var key in this.filters) {
        if (this.filters.hasOwnProperty(key)) {
          if (
            this.filters[key] == 0 ||
            this.filters[key] == false ||
            (this.filters[key] && this.filters[key] !== '')
          ) {
            params[key] = mapFilter(this.filters[key]);
          }
        }
      }
      if (url == osdata) {
        this.$root.$emit('refreshData', params);
      }
      if(url == bidata){
          this.$root.$emit('refereshBi', params);
   }

我试图在最后介绍一些如果,但它没有用,它不会是正确的方式,因为它会?

标签: javascriptvue.jsquasar-framework

解决方案


我假设您正在使用 Vue 2 和 Vue-router 进行路由。在这种情况下,您可以通过 this.$route 获取当前的路由信息​​,例如:

if (this.$route.path == '/page') { 
    
}

this.$route 包含以下属性:

{ 
   name: 'Name of the route',
   path: '/path/to/route', 
   params: { /* object with route parameters */ },
   query: { /* everything after the question mark in url (example: #/page?id=1&a=b) */} 
}

推荐阅读