这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战
v-model本质上不过是语法糖,可以用v-model指令在表单及元素上创建双向数据绑定。
- 会根据控件类型自动选取正确的方法来更新元素
- 负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理
- v-model 会忽略所有表单元素的 value、checked、selected 特性的初始值,而总是将 Vue 实例的数据作为数据来源,因此我们应该通过 JavaScript 在组件的 data 选项中声明初始值
v-model 实现原理?
v-model只不过是一个语法糖而已,真正的实现靠的还是v-bind:绑定响应式数据 触发oninput事件并传递数据
Vuex是什么,每个属性是干嘛的,如何使用?
Vuex是专门为Vue.js应用程序设计的状态管理工具。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化
具体工作:vuex是一种状态管理机制,将全局组件的共享状态抽取出来为一个store,以一个单例模式存在,应用任何一个组件中都可以使用,vuex更改state的唯一途径是通过mutation,mutation需要commit触发, action实际触发是mutation,其中mutation处理同步任务,action处理异步任务。
拓展
- Vuex的属性包含以下6个:
state是存储的单一状态,是存储的基本数据。Getters是store的计算属性,对state的加工,是派生出来的数据。就像computed计算属性一样,getter返回的值会根据它的依赖被缓存起来,且只有当它的依赖值发生改变才会被重新计算。Mutations提交更改数据,使用store.commit方法更改state存储的状态。(mutations同步函数)Actions像一个装饰器,提交mutation,而不是直接变更状态。(actions可以包含任何异步操作)Module是store分割的模块,每个模块拥有自己的state、getters、mutations、actions。