endaaman.com

2018-03-29

Tips

Nuxt undocumented APIs

公式ドキュメントに記載されないAPIがあったので紹介

fetchから任意のエラーページへリダイレクトさせる

validate after fetch · Issue #2010 · nuxt/nuxt.js

export default {
  async fetch({ store, error }) {
    if (store.getters.isAuthenticated) {
      await store.dispatch('fetchProfile')
    } else {
      error({ statusCode: 401, message: 'Unauthorised' })
    }
  }
}

error() 関数を使ってエラーページに飛ばせる。

vue-router's navigation guard

export default {
  beforeRouteEnter(to, from, next) {
  },
  beforeRouteUpdate(to, from, next) {
  },
  beforeRouteLeave(to, from, next) {
  },
}

をページコンポーネントに定義すると使ってくれる。beforeRouteEnter()のvalidate() との大きな違いはリダイレクト先を自由にキメられるがcontextを拾えず404にも流せないところ。


©2024 endaaman.com