Home  >  Article  >  Web Front-end  >  What are the vue family buckets?

What are the vue family buckets?

angryTom
angryTomOriginal
2019-07-20 16:57:4715936browse

What are the vue family buckets?

Recommended tutorial: VUE.JS tutorial

Vue has the famous family bucket series , including vue-router, vuex, vue-resource. Coupled with the build tool vue-cli and sass style, it is the core component of a complete vue project.

To sum it up:

1. Project building tool

## 2. Routing

3. Status management

4. http request tool.

The following is a separate introduction

Preface: Vue’s two core ideas: Componentization and data-driven. Componentization: split the whole into reusable individuals, data-driven: directly affect the BOM display through data changes, avoiding DOM operations.

1. Vue-cli is the scaffolding for quickly building this single-page application.

# 全局安装 vue-cli
$ npm install --global vue-cli
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project
# 安装依赖,走你
$ 
cd my-project
$ npm install
$ npm run dev

2. vue- router

Installation: npm installvue-router

If you use it in a modular project, you must explicitly install the routing function through Vue.use():

import Vue from'vue'
import VueRouter from'vue-router'
Vue.use(VueRouter)

In addition, please note that during use, you can use the transition attribute of vue to render the effect of switching pages.

3. vuex

The state management developed by vuex specifically for vue.js applications can be understood as global data management. Vuex is mainly composed of five parts: state action, mutation, getters, and mudle.

The usage process is: The above four parts can be directly called in the component except mudle,

1, state

Similar to the data of the vue object, use To store data and status. The stored data is responsive. If the data changes, the components that rely on the data will also change accordingly.

Examples of two ways to get state:

1.store.getters['getRateUserInfo']

2. ...mapGetters({

UserInfo: 'login/UserInfo', // User information

menuList: 'getMenuList', // approve freight rate approval

RateUserInfo: 'getRateUserInfo' // Rate user information

})

Note: Global state and getters can be mapped to the computed properties of the current component through mapState.

2, actions

Action is triggered through the store.dispatch method: action supports asynchronous calls (api can be called), mutations only support operation synchronization, and the action submitted is mutation rather than changing state directly.

For example:

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  },
  actions: {
    increment (context) {
      context.commit('increment')
    }
  }
})

The Action function accepts a context object with the same methods and properties as the store instance, so you can call context.commit to submit a mutation, or pass context.state and context. getters to obtain state and getters.

In practice, we often use ES2015 parameter destructuring to simplify the code (especially when we need to call commit many times):

3, mutation

Each mutation has a string event type (type) and a callback function (handler). This callback function is where we actually make the state changes, and it accepts state as the first parameter.

4. Getters

Vuex allows us to define "getters" in the store (which can be considered as computed properties of the store). Just like computed properties, the return value of a getter will be cached according to its dependencies, and will only be recalculated when its dependency values ​​change

const getters = {
  getRateInitData: state => state.rateInitData,
  getchooseRateObj: state => state.chooseRateObj,
  getSearchRateParams: state => state.searchRateParams,
  getSearchRateResult: state => state.searchRateResult,
  getRateUserInfo: state => state.RateUserInfo,
  getMenuList: state => state.menuList,
  getRateQueryParams: state => state.rateQueryParams,
  getRateQueryResult: state => state.rateQueryResult,
  getCheckRateDetailParams: state => state.checkRateDetailParams,
  getReferenceCondition: state => state.referenceCondition,
  getWaitApprovalParams: state => state.waitApprovalParams
}

 mapGetters helper function

The mapGetters auxiliary function only maps the getters in the store to local calculated properties:

4. axios

Axios is an http request package. Vue official website recommends using axios for http calls.

Installation:

npm install axios --save

Example:

1. Send a GET request

//通过给定的ID来发送请求
axios.get('/user?ID=12345')
  .then(function(response){
    console.log(response);
  })
  .catch(function(err){
    console.log(err);
  });
//以上请求也可以通过这种方式来发送
axios.get('/user',{
  params:{
    ID:12345
  }
})
.then(function(response){
  console.log(response);
})
.catch(function(err){
  console.log(err);
});
2、发送一个POST请求
axios.post('/user',{
  firstName:'Fred',
  lastName:'Flintstone'
})
.then(function(res){
  console.log(res);
})
.catch(function(err){
  console.log(err);
});

The above is the detailed content of What are the vue family buckets?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:The role of console.log()Next article:The role of console.log()