vue使用总结心得
vue的安装
在这里我们主要针对的是vue的单页面项目 如果仅仅是为了单个案例可以直接下载 然后script安装
Vue 提供一个官方命令行工具,可用于快速搭建大型单页应用。该工具为现代化的前端开发工作流提供了开箱即用的构建配置。只需几分钟即可创建并启动一个带热重载、保存时静态检查以及可用于生产环境的构建配置的项目:
1 | # 全局安装 vue-cli |
vue的生命周期
vue的生命周期图示
header 1 | header 2 |
---|---|
beforeCreate | 实例刚刚被创建 el和data并未初始化 |
created | 实例创建完成 data被初始化 但是el没有被初始化 dom不存在 |
beforeMount | 完成了el的初始化 模板编译之前 |
mounted | 模板编译之后 完成挂载 |
beforeUpdate | 组件更新之前 |
uodated | 组件更新之后 |
beforeDestory | 组件销毁前调用 |
destoryed | 组件销毁后调用 |
vue的核心思想(数据绑定和组件化)
- ==vue的双向数据绑定==
1 | <!DOCTYPE html> |
- 组件化思想
将实现页面的某一部分功能的结构,样式和逻辑封装为一个整体,使其高内聚,低耦合,达到分治和复用的目的
1
为了提高代码复用性,减少重复性的开发,我们就把相关的代码按照 template、style、script 拆分,封装成一个个的组件。组件可以扩展
HTML 元素,封装可重用的 HTML 代码,我们可以将组件看作自定义的 HTML 元素。在 Vue 里面,每个封装好的组件可以看成一个个的 ViewModel。
组件的执行顺序
- 子组件先在父组件中的 components 中进行注册。
- 父组件利用 Vue.component 注册到全局。
- 当渲染父组件的时候,渲染到
,会把子组件也渲染出来。
vue的路由分发(vue-router)
vue的路由分发主要是使用vue-router 本质来说 使用了哈希路径和浏览器的history(html5新增api)
vue-router的安装和项目中的配置
1 | npm install vue-router --save |
1 | // 在main.js中这样配置 |
我们可以使用vue-router做那些事
配置路由分发
设置路由重定向
- 典型的应用场景有 做登录前的禁止跳转
- 在用户访问不存在的页面的时候 跳转到自定义的404页面
在组件中进行路由的跳转
进行组件之间的传参
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18const router = new VueRouter({
routes: [
{
//
path: '/user/:userId',
name: 'user',
component: User
}
]
})
// 在组件中 应该这样写 router-link 在渲染时 会被转化为a标签
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
// 在vue的生命周期 或者 methods中 应该这样写
router.push({ name: 'user', params: { userId: 123 }})
// 关于如何使用query进行传递参数 这里给出了一个示例
// http://blog.csdn.net/k491022087/article/details/70214664向路由组件传递props
https://router.vuejs.org/zh-cn/essentials/passing-props.html
根据路由元信息 设置组件的初始化或者区别组件
设置过渡的动态效果
路由信息对象
vue-router的使用注意事项
在组件中跳转的时候 和 获取路由元信息的时候
1
2
3
4
5
6
7
8// 组件中跳转
this.$router.push({
name: page,
params: {id: 0, type: page, content: item.content, template: item.template}
})
// 获取路由元信息
this.$route.params.apiId
监听路由变化
1
2
3
4
5wacth:{
'$route'(to, from) {
.....
},
}