VUE框架的使用

一、vue的生命周期函数

  1. beforeCreate: 在实例被创建之初,数据观测和初始化事件之前调用。
  2. created: 实例已经创建完成之后调用,此时实例还没有完成挂载。
  3. beforeMount: 在挂载开始之前被调用,在此时可以对模板进行编译。
  4. mounted: 在挂载完成后被调用,此时实例已经完成了渲染并且已经挂载到页面上。
  5. beforeUpdate: 数据更新时被调用,此时页面尚未被重新渲染。
  6. updated: 数据更新完成后被调用,此时页面已经被重新渲染。
  7. activated: 被 keep-alive 缓存的组件激活时调用。
  8. deactivated: 被 keep-alive 缓存的组件停用时调用。
  9. beforeDestroy: 实例销毁之前调用。
  10. destroyed: 实例销毁之后调用,此时实例中的所有东西都已经被释放

 二、vue的计算属性

计算属性是Vue实例中一个非常重要的概念。它可以对数据进行处理并返回一个计算结果。计算属性的特点是具有缓存性,当计算属性所依赖的数据发生变化时会自动重新计算计算属性的值,而当计算属性所依赖的数据没有发生变化时会直接返回缓存的值,不需要重新计算,从而提高了组件的渲染效率。

在Vue实例中可以通过computed属性定义计算属性。

示例代码:

<template>
  <div>
    <p>简单的计算属性:{{ messageCount }}</p>
    <p>带参数的计算属性:{{ fullName }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello, Vue!',
      firstName: 'John',
      lastName: 'Doe'
    }
  },
  computed: {
    messageCount() {
      return this.message.length
    },
    fullName() {
      return `${this.firstName} ${this.lastName}`
    }
  }
}
</script>

在上面的示例中,我们定义了一个简单的计算属性messageCount,它返回message字符串的长度。同时我们也定义了一个带参数的计算属性fullName,它返回firstName和lastName合并的字符串。

在模板中我们可以直接使用计算属性的名称来显示计算结果,如{{ messageCount }}和{{ fullName }}。

总之,计算属性是Vue非常强大的一个特性,可以使我们更加便捷地进行数据处理和渲染。同时,要注意计算属性所依赖的数据不能太复杂,否则会影响性能。

三、vuex状态管理

Vuex是Vue.js的官方状态管理库,用于在大型Vue.js应用程序中管理全局状态。它基于Flux架构,提供了一个集中式的存储容器,用于管理整个应用程序的状态。

使用Vuex的好处在于可以让应用程序的状态集中在一个store中,方便进行管理和维护。同时,通过Vuex提供的API,可以实现对状态的精确控制,使得应用程序的状态更加可预测和稳定。

下面是Vuex的基本使用流程:

  1. 安装Vuex并在Vue应用程序中引入Vuex
npm install vuex

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

  1. 定义Vuex的store

store是Vuex的核心概念,它是一个状态容器,用于存储应用程序的所有状态。可以通过Vuex的state、mutations、actions、getters等属性和方法对store进行配置和修改。

示例代码:

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment(state) {
      state.count++
    }
  },
  actions: {
    incrementAsync({ commit }) {
      setTimeout(() => {
        commit('increment')
      }, 1000)
    }
  },
  getters: {
    getCount: state => state.count
  }
})

在这个示例中,我们定义了一个状态count和两个方法increment和incrementAsync,分别用于同步和异步地修改状态。同时我们还定义了一个getter方法getCount,用于获取状态count的值。

  1. 在Vue组件中使用Vuex

可以通过Vue的computed属性或者methods属性,从store中获取或修改状态值。通常,在Vue组件中使用Vuex,需要引入Vuex的mapState、mapMutations、mapActions、mapGetters等方法,以便可以更加方便地使用store中的状态和方法。

示例代码:

<template>
  <div>
    <p>Count: {{ count }}</p>
    <button @click="increment">Increment</button>
    <button @click="incrementAsync">Increment Async</button>
  </div>
</template>

<script>
import { mapState, mapMutations, mapActions } from 'vuex'

export default {
  computed: {
    ...mapState(['count'])
  },
  methods: {
    ...mapMutations(['increment']),
    ...mapActions(['incrementAsync'])
  }
}
</script>

在这个示例中,我们通过mapState方法将count状态映射到组件中,通过mapMutations和mapActions方法将increment和incrementAsync方法映射到组件中。

通过这些步骤,我们就可以使用Vuex来管理应用程序中的状态了。同时,Vuex还提供了更多高级特性,如模块化管理、持久化存储等,可以根据实际需求进行使用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值