前几天,跟着教程写了一个
Vue
的仿新闻端的小项目。
项目结构
用 vue init webpack-simple xxx
构建项目,内部的主要结构
|
|
axios
由于 vue-resource
停更了,axios
是用来做交互的不二选择,而且 axios
是 Promise
版的,紧跟潮流。
由于 axios
中没有 install
方法,所以不能直接用 Vue.use()
,以为不在每一个需要发送请求的组件中都引用一次 axios
,可以将它写进 Vue
的原型链中
|
|
这样子,在 Vue
实例的组件中,需要进行交互的时候,就可以这样用
|
|
axios
提供了接口允许在发送请求前和接收响应前进行操作
|
|
Vuex
关于某些组件中状态,用 Vuex
来管理是最合理的,它有 install
方法,可以使用 Vue.use(Vuex)
|
|
然后将其主要流程
|
|
组件中发起状态变化的消息,actions
接收到变化,传递给 mutations
处理 state
的值,然后 components
用 getters
获取 state
,这样就实现了状态的变化
在组件中获取 states
|
|
watch 属性
在 vue
里有个属性,watch
,可以监听路由的变化
|
|
Vue-router
使用路由是单页面应用不可或缺的一部分,同时也是要配置路由的 config
先是引入 VueRouter
和路由的配置,然后实例化路由,最后将实例化的路由挂在 Vue
中
使用
在拼接路由,即需要传参时
|
|
这样写,在跳转到该路由绑定的 component
时,就可以附带上参数 id
用 this.$route.params
即可获取当前路由中附带的参数,然后就可以在 mounted
做点东西了