没有合适的资源?快使用搜索试试~ 我知道了~
1、MVC和MVVM区别?2、为什么data是一个函数?3、Vue组件通讯有哪几种方式?4、Vue生命周期方法有哪些,一般在哪一步请求?5、v-if和v-show的区别?6、怎么理解vue的单向数据流?7、computed和watch的区别和运用场景?v-if 与 v-for 为什么不建议一起使用?
资源推荐
资源详情
资源评论
1、MVC 和 MVVM 区别?
MVC 全名是 Model View Controller,是模型(model)-试图(view)-控制器(controller)的缩
写,一种软件设计典范。
Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数
据库中存取数据。
View(视图):是应用程序中处理数据显示的部分。通常试图是依据模型数据创建的。
Controller(控制器):是应用程序中处理用户交互的部分。通常控制器负责从视图读取数
据,控制用户输入,并向模型发送数据。
MVC 的思想:一句话描述就是 Controller 负责将 Model 的数据用 View 显示出来,换句话说
就是 Controller 里面把 Model 的数据赋值给 View。
MVVM 新增了 VM
ViewModel 层:做了两件事达到了数据的双向绑定,一是将【模型】转化成【视图】,即将
后端传递的数据转化成所看到页面。实现的方式是:数据绑定。二是将【视图】转化成【模
型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。
MVVM 与 MVC 最大的区别就是:它实现了 View 和 Model 的自动同步,也就是当 Model 的
属性改变时,我们不用再自己手动操作 DOM 元素。因为在 MVVM 中,View 不知道 Model
的存在,Model 和 ViewModel 也观察不到 View,这种低耦合模式提高了代码的可重用性。
注意:Vue 并没有完全遵循 MVVM 的思想,这一点官网也有说明。
那么问题来了,为什么官网要说 Vue 没有完全遵循 MVVM 思想呢?
答:严格的 MVVM 要求 View 不能和 MOdel 直接通信,而 Vue 提供了$refs 这个属性,让 Model
可以直接操作 View,违反了这一规定,所以说 Vue 没有完全遵循 MVVM。
2、为什么 data 是一个函数?
组件中的 data 写成一个函数,数据以函数返回值定义,这样每复用一次组件,就会返回一
份新的 data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自
的数据。而单纯的写成对象形式,就使得所有的组件实例共用一份 data,就会造成一个变
了全都会变的结果。
3、Vue 组件通讯有哪几种方式?
Props 和$emit 父组件向子组件传递数据是通过 prop 传递的,子组件传递数据给父组件是通
过$emit 触发事件来做到的。
$parent,$children 获取当前组件的父组件和当前组件的子组件。
$refs 获取组件实例
eventBus 兄弟组件数据传递,这种情况下可以使用事件总线的方式
vuex 状态管理
4、Vue 生命周期方法有哪些,一般在哪一步请求?
beforeCreate 在实例初始化之后,数据观测(data observer)和 event/watcher 事件配置之前
被调用。在当前阶段 data、methods、computed 以及 watch 上的数据和方法都不能被访问。
created 实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data
observer),属性和方法的运算,watch/event 事件回调。这里没有$el,如果非要想与 Dom 进
行交互,可以通过 vm.$nextTick 来访问 Dom。
资源评论
乖乖小福
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功