zoukankan      html  css  js  c++  java
  • VUE SSR渲染之NuxtJS —— 生命周期 钩子

    这里只记录一些常用的钩子,更多的还是去看官网吧。

    一、服务端钩子

    nuxtServerInit() 通常用于初始化一些东西在状态树中
    这里给出了一些基本的使用,该文件为store/index.js
    // state
    export function state() {
      return {
        bNav: false,
        bLoading: false
      }
    }
    
    // mutations
    export const mutations = {
      M_UPDATE_NAV(state, payload) {
        state.bNav = payload
      },
      M_UPDATE_LOADING(state, payload) {
        state.bLoading = payload;
      }
    }
    
    // actions
    export const actions = {
      nuxtServerInit(store, context) {
        // 初始化东西到状态树
      }
    }
    
    // getters
    export const getters = {
      getNav(state) {
        return state.bNav ? '显示' : '隐藏'
      }
    }
    
    export default {namespaced: true, state, mutations, actions, getters}
     
    middleware 中间件,可使用中间件的地方:
    1.nuxt.config.js中配置middleware
    使用方法: 在middleware文件夹下建一个js文件,名称自定义 我们这里建一个auth.js
    内容随便写
    export default({store, route, redirect, params, query, req, res}) => {
      // 全局守卫业务
      console.log('middleware nuxt.config.js')
    }

    然后再nuxt.config.js中配置

    router: {
        middleware: 'auth',
      },
    2.layout 布局页面使用
    3. 组件中使用
    <script>
      export default {
      data() {
        return {}
      }, middleware() { console.log(
    "页面级别的middleware") } } </script>

    asyncData() 读取数据,返回给组件,这里我们可以做一些异步的数据请求,返回给组件。

    fetch() 和asyncData类似,只不过返回数据给redux状态树。

    validate() 做一些校验业务,返回Boolean值,true为通过,false则跳到错误页面。

    具体使用方式在下篇文章!!

    二、服务端和客户端

    beforeCreate()
    created()
    这两个钩子可能运行在客户端(CSR)也可能在服务端(SSR)
    建一个页面测试一下。。。
    <template>
      <h1>登录页</h1>
    </template>
    
    <script>
    export default {
      beforeCreate() {
        // window是浏览器独有的,服务端不会有
        console.log("beforeCreate", window);
      },
    };
    </script>
    
    <style>
    </style>

    访问对应页面,你有几率看到错误信息,没有的话多刷新几次。

    三、客户端

    客户端的生命周期钩子和vue一致,这里不做过多的介绍。

      beforeMount()
        mounted()
        beforeUpdate()
        updated()
        beforeDestory()
        destoryed()
        activated()
        deactivated()
  • 相关阅读:
    php环境搭建
    smarty模板基础
    ThinkPHP模板的知识
    php调用API支付接口 可个人使用,无需营业执照(使用第三方接口,调用的天工接口。)
    HTML插入地图的方法
    phpcms调用语句
    phpcms基础循环
    js鼠标拖动(转载)
    js源生ajax
    php读取xml文件并处理
  • 原文地址:https://www.cnblogs.com/tcxq/p/13695948.html
Copyright © 2011-2022 走看看