指南
基础
- 安装
- 介绍
- Vue 实例
- 模板语法
- 计算属性和侦听器
- 类和样式绑定
- 条件渲染
- 列表渲染
- 事件处理
- 表单输入绑定
- 组件基础
组件深入
- 组件注册
- Props
- 自定义事件
- 插槽
- 动态和异步组件
- 处理边缘情况
过渡和动画
- 进入/离开和列表过渡
- 状态过渡
可重用性和组合
- 混入
- 自定义指令
- 渲染函数和 JSX
- 插件
- 过滤器
工具
- 单文件组件
- 测试
- TypeScript 支持
- 生产部署
扩展
- 路由
- 状态管理
- 服务器端渲染
- 安全
内部机制
- 深入响应性
迁移
- 从 Vue 1.x 迁移
- 从 Vue Router 0.7.x 迁移
- 从 Vuex 0.6.x 迁移到 1.0
- 迁移到 Vue 2.7
元数据
- 与其他框架的比较
- 加入 Vue.js 社区!
- 认识团队
混入
基础
混入是一种灵活的方式,用于为 Vue 组件分发可重用的功能。混入对象可以包含任何组件选项。当组件使用混入时,混入中的所有选项将“混合”到组件自身的选项中。
示例
|
选项合并
当混入和组件本身包含重叠的选项时,它们将使用适当的策略“合并”。
例如,数据对象进行递归合并,在发生冲突的情况下,组件的数据优先。
|
具有相同名称的钩子函数将合并到一个数组中,以便所有钩子函数都将被调用。混入钩子函数将在组件自身的钩子函数**之前**被调用。
|
期望对象值的选项,例如 methods
、components
和 directives
,将合并到同一个对象中。在这些对象中存在冲突的键时,组件的选项将优先。
|
请注意,Vue.extend()
中使用了相同的合并策略。
全局混入
您也可以全局应用混入。谨慎使用!一旦您全局应用了混入,它将影响之后创建的**所有** Vue 实例。如果使用得当,这可以用于为自定义选项注入处理逻辑。
|
谨慎且适度地使用全局混入,因为它会影响创建的每个 Vue 实例,包括第三方组件。在大多数情况下,您应该只将其用于自定义选项处理,如上面的示例所示。将它们作为插件发布也是一个好主意,以避免重复应用。
自定义选项合并策略
当自定义选项合并时,它们使用默认策略,该策略会覆盖现有值。如果您希望自定义选项使用自定义逻辑合并,则需要将一个函数附加到 Vue.config.optionMergeStrategies
|
对于大多数基于对象的选项,您可以使用 methods
使用的相同策略。
|
可以在 Vuex 的 1.x 合并策略中找到更高级的示例。
|
发现错误或想为文档做出贡献? 在 GitHub 上编辑! 部署在 Netlify 上。