学习心得

Vue .js 框架,主要是组件的方式实现页面的功能,一个根组件,下面根这子组件。
组件的关系有父子组件,兄弟组件,隔代组件关系。组件的生命周期是,创建前后,载入前后,更新前后,删除前后。
组件里面写的是html,css, js 的语句,vue.js拥有一些自己的指令方便组件中代码协调和功能的实现。各个组件的有信息交互,父子组件的传值,兄弟组件的传值。等。组件之前的协同与构建就会合成整个前端的功能实现。

我对MVVM 的理解(Model-View-ViewModel)
M--代表数据模型,也可以在其中定义数据修改和操作的业务逻辑
V---代表UI 组件,它负责将数据模型转化成UI展现出来。
VM----监听模型数据的改变和控制视图行为,处理用户交互,简单理解就是一个同步View和Model的对象,连接Mode和View。
在MVVM架构下,View 和Model之间并没有直接得联系,而是通过ViewModel 进行交互,Model 和ViewModel 至今的交互是双向的,因此View 数据的变化会同步到Model 中,而Model数据的变化会立即反应到view上。

ViewModel通过双向数据绑定把View 层和Model 层连接起来,而View和Model之间的同步工作完全是自动的,无需人为干涉,因此开发者只需要关注业务逻辑,不需要手动操作DOM,不需要只关注数据的同步问题,复杂的数据状态维护完全由MVVM来统一管理。

重点是组件之间的传值:
父传给子:子组件通过props方法接受数据。
子传父: $emit 方法传递参数。

非父子组件间的数据传递,兄弟组件传值:
eventBus,就是创建一个时间中心,相当于中转站,可以用它来传递事件和接受事件,项目比较小时,用这个比较合适。

Vue 的路由实现:hash模式和histoty 模式
hash 模式-----在浏览器中符号“#”,#以及#后面的字符称之为hash,用window.location,hash读取,特点:hash虽然在URL中,但是不被包括在HTTP请求中,用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。
history模式:history采用HTML5的新特性,且提供了两个方法pushState(),
replaceSyaye()可以对浏览器历史记录栈进行修改,以及popState事件的监听到状态变更。

Vue路由的钩子函数
首页可以控制导航跳转,beforeEach,afterEach等,一般用于页面title的修改,一些需要登录才能调整页面的从定向功能。
beforeEach主要有三个参数to,from,next
to -----route即将进入的目标路由对象。
from ----route当前导航正要离开的路由。
next-----function一定要调用该方法resolve这个钩子,执行效果依赖next方法的调用参数,可以控制网页的跳转。

Vuex是什么

只用来读取的状态集中放在store 中,改变状态的方式是提交mutations,这是个同步的事物,异步逻辑应该封装在action中。在main.js引入store注入,新建了一个目录store,。。。。export。场景有:单页应用中,组件之间的状态,音乐播放,登录状态,加入购物车等。

CSS 只在当前组件起作用---在style标签中写入scoped即可,例如:

v-if -----按条件是否渲染
v-show----是display的block或none

router是路由实例对象包括路由的跳转方法,钩子函数等。

你可能感兴趣的:(学习心得)