美文网首页工作生活
2019-06-30 路由基础、动态路由、使用axios发送Aj

2019-06-30 路由基础、动态路由、使用axios发送Aj

作者: 々_18C | 来源:发表于2019-07-01 21:54 被阅读0次

vue-router: 路由

如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能:

在你的文件夹下的 src 文件夹下的 main.js 文件内写入以下代码

动态路由匹配

我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件。例如,我们有一个 User 组件,对于所有 ID

各不相同的用户,都要使用这个组件来渲染。那么,我们可以在 vue-router 的路由路径中使用『动态路径参数』(dynamic

segment)来达到这个效果:

{path:"/two:id",component:{template:"#b"},},

当我们在地址后面直接添加任意字符,我们会发现文档内容随着我们的更改而改变.

嵌套路由

我们经常将动态路由和嵌套路由共同使用,嵌套路由即是在原路由的基础上增加一个 children ,children 是一个数组.并且我们还需要在原来的组件上添加< router-view >来渲染 chlidren 里面的路由.

第二个router

user:{{ $route.params.id }}

编程式导航

除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。

router.push(location)

想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。

当你点击 <router-link> 时,这个方法会在内部调用,所以说,点击 <router-link :to="..."> 等同于调用 router.push(...)。

该方法的参数可以是一个字符串路径,或者一个描述地址的对象。

axios

通用的 ajax 请求库, 官方推荐, vue2.x 使用广泛

// 引入模块

import axios from 'axios'

// 发送 ajax 请求

axios.get(url)

.then(response => {

console.log(response.data) // 得到返回结果数据

})

.catch(error => {

console.log(error.message)

})

vuex 是什么简单来说: 对 vue 应用中多个组件的共享状态进行集中式的管理(读/写)

状态自管理应用

1)state: 驱动应用的数据源

2)view: 以声明方式将 state 映射到视图

3)actions: 响应在 view 上的用户输入导致的状态变化(包含 n 个更新状态的方法)

vuex 核心概念和 API

 state

1)vuex 管理的状态对象

2)它应该是唯一的

const state = {

xxx: initValue

}

 mutations

1)包含多个直接更新 state 的方法(回调函数)的对象

2)谁来触发: action 中的 commit('mutation 名称')

3)只能包含同步的代码, 不能写异步代码

const mutations = {

yyy (state, {data1}) {

// 更新 state 的某个属性

}

}

 actions

1)包含多个事件回调函数的对象

2)通过执行: commit()来触发 mutation 的调用, 间接更新 state

3)谁来触发: 组件中: $store.dispatch('action 名称', data1) // 'zzz'

4)可以包含异步代码(定时器, ajax)

const actions = {

zzz ({commit, state}, data1) {

commit('yyy', {data1})

}

}

 getters

1)包含多个计算属性(get)的对象

2)谁来读取: 组件中: $store.getters.xxx

const getters = {

mmm (state) {

return ...

}

}

 modules

1)包含多个 module

2)一个 module 是一个 store 的配置对象

3)与一个组件(包含有共享数据)对应

 向外暴露 store 对象

export default new Vuex.Store({

state,

mutations,

actions,

getters

})

 组件中

import {mapState, mapGetters, mapActions} from 'vuex'

export default {

computed: {

...mapState(['xxx']),

...mapGetters(['mmm']),

}

methods: mapActions(['zzz'])

}

{{xxx}} {{mmm}} @click="zzz(data)"

 映射 store

import store from './store'

new Vue({

store

})

 store 对象

1)所有用 vuex 管理的组件中都多了一个属性$store, 它就是一个 store 对象

2)属性:

state: 注册的 state 对象

getters: 注册的 getters 对象

3)方法:

dispatch(actionName, data): 分发调用 action

相关文章

  • 2019-06-30 路由基础、动态路由、使用axios发送Aj

    vue-router: 路由 如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能: ...

  • axios的用法

    动态路由的匹配 keep-alive在路由中的使用 meta的使用_控制权限 axios的基本使用 并发请求

  • Vue-router2.0基础实践

    基础用法: 动态路由匹配: 嵌套路由: 编程式路由: 命名路由: 命名视图:

  • 浅谈Vue-Router

    前面的安装及基础以后再更新。。。 一、动态路由及懒加载 1.在路由路径中使用 “动态路径参数” ⑴params ⑵...

  • vue 动态路由

    什么是动态路由?带参数的路由就是动态路由 实际使用 路由中使用多段路径作为参数 !!! 路由组件复用 提醒一下,当...

  • Vue路由全解

    路由基础 router-link router-view router.js 动态路由匹配 嵌套路由 命名路由 命...

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

  • Flutter 页面交互 | 路由跳转方式、常用API、发送接收

    概述 路由跳转的几种方式;路由常用API;路由的发送和接收数据的使用;路由使用中可能遇到的问题与解决方案; 路由跳...

  • react-router4 modal与动态路由的冲突

    项目使用了1,react-router4,2,Bundle 动态加载路由问题:页面路由使用了动态路由,要实现一个m...

  • vue-router和axios的优化和封装

    本地目录: 1.router优化之路由懒加载 2.router优化之token验证和动态设置路由 3.axios优...

网友评论

    本文标题:2019-06-30 路由基础、动态路由、使用axios发送Aj

    本文链接:https://www.haomeiwen.com/subject/auyvcctx.html