360企业安全浏览器兼容模式显示异常 ,现象测试环境频发 ,本地连测试无法复现,线上反馈问题。
 出现问题的电脑为windows且使用360企业安全浏览器打开兼容模式可复现

复现过程:
不直接点击超链接跳转页面 ,登录后直接通过出问题的页面的全链接访问成功复现问题。
解决方案和过程
通过控制台打印出localStorage里的内容看所取得数据是否存在 ,在看使用的方法是否兼容不同浏览器 ,可能部分数组的方法不兼容导致, 因为我这个是取的vueX里的内容 要先看能否打印出来,多次尝试后发现税率列表没有取到。所以要在页面加载前保证税率列表存在。

<el-table-column
                prop="taxRate"
                label="税率"
                width="60"
                align="right"
              >
                <template slot-scope="scope">
                //vue的mixins混入功能
                  <span> {{ getTaxRateName(scope.row.taxRate) }} </span>
                </template>
              </el-table-column>
相关知识点
 mixins使用一、局部混入:
1)、混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。
2)、选项合并
当组件和混入对象含有同名选项时,这些选项将以恰当的方式进行“合并”。
比如,数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先。
①:新建minxins.js文件
import { mapState } from 'vuex'
export default {
  data() {
    return {
      // taxRateList: []
    }
  },
  computed: {
    ...mapState(['taxRateList'])
  },
  mounted() {},
  methods: {
    /**
     * 获取 税率字典list
     * @returns {Promise<void>}
     */
    // async getTaxrateList() {
    //   let list = await this.$api.common.***({
    //     classCode: 'taxRate'
    //   })
    //   this.$set(this, 'taxRateList', list)
    // },
    /**
     * 通过税率code  返回相应名称
     * @param code
     * @returns {*}
     */
    getTaxRateName(code) {
      if (this.taxRateList.length) {
        let rate = this.taxRateList.find(t => t.codeCode == code)
        if (rate) {
          return rate.codeName
        }
        return ''
      }
    },
    /**
     *  返回税率名称,过滤掉百分号
     * @param code
     * @returns {*}
     */
    getTaxRate(code) {
      let name = this.getTaxRateName(code)
      if (name && name.endsWith('%')) {
        return name.slice(0, -1)
      }
      return ''
    }
  }
}

import mixins from '@/mixins'
Vue.mixin(mixins)
Vue.use(VueCookies)
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
这么贴心不给个关注吗~~



















