actionList.includes is not a function?

store.js方法:

actions: {
    async getBtnPermission({ commit }) {
      const res = await getBtnCode();
      const arr = res.split(',');
      console.log('按钮权限列表', arr);
      commit('updateBtnPerm', arr);
    },
  },

main.js内使用:

// 按钮权限指令
Vue.directive('has', {
  inserted: (el, binding) => {
    let actionList = store.dispatch('getBtnPermission');
    console.log('actionList', actionList);
    let values = binding.value;
    let hasPermission = actionList.includes(values);
    if (!hasPermission) {
      el.style = 'display:none';
      setTimeout(() => {
        el.parentNode.removeChild(el);
      }, 0);
    }
  },
});

为什么会报actionList.includes is not a function?

阅读 1.9k
1 个回答

await 呢? async 的返回值是个 promise

我看你也打印了 actionList

昂。actions 的返回是什么呢?commit 是指触发 mutation


所以你应该 await 一下,然后从 store 中读取一下 actionList

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题