介绍 Vue 的 Provide 以及 Inject

Provide 以及 Inject 是 Vue 中用于祖先元素向其所有后台元素注入依赖的接口。

具体用法


// Data.vue
...
export default {
provide: {
setData: 'setData'
},
methods: {
setdata() {
//Something
}
}
};

// DataItem.vue
...
export default {
inject: ['setData'],
created() {
this.setdata();
}
};
  <data>
<data-item></data-item>
</data>
</template>
  • 注意:通过 Inject 获得的属性是不可响应的。

项目中实际应用

在项目中,如需要两个基础组件的父子组件进行通信,又不想写太多业务无关代码,就可以使用 Provide 以及 Inject。

例如:

```<app>
<app-header></app-header> <!-- 在App中开启header的显示 -->
<app-navigation></app-navigation> <!-- 在App中开启navigation的显示 -->
...
<app-footer></app-footer><!-- 在App中开启footer的显示 -->
</app>
```

仅需要简单的调用组件,而不需要传递 Prop 的值以及定义 Slot。

当然也可以使用一个全局对象实现,使用 Provide 以及 Inject 好处是可多页面复用以及较为简单。

如果需求比较复杂,还是使用一个全局的 Vue 对象或 Vuex 更好。

来源:https://segmentfault.com/a/1190000016874566

最新文章

  1. 2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)
  2. ThinkCMF-上传多个图片源码解读
  3. Sql server Always On 读写分离配置方法
  4. Gulp.js - 简单、直观的自动化项目构建工具
  5. c#,关于Big Endian 和 Little Endian,以及转换类
  6. 最流行的PHP 代码规范
  7. HDU:Integer Inquiry
  8. HotSpot算法实现
  9. 向OC类中添加默认的协议实现(ProtocolKit)
  10. books
  11. POJ 3414 Pots ( BFS , 打印路径 )
  12. 附加、分离数据库和备份、还原数据库的区别(转载于中雪的BLOG)
  13. Android-应用的本地化及知识拓展之配置修饰符
  14. IT第七天 - 类及其属性、方法的理解,断点调试初识,代码优化总结,编程逻辑培养
  15. HDU 5045 Contest
  16. Ubuntu 16 04 安装KVM
  17. 基于Flex的HTTPService(GET和POST)
  18. 数据恢复案例分享:MSSQL 2000 错误823
  19. turtle模块绘图
  20. java方法 throws exception 事务回滚机制

热门文章

  1. VS2005进行WORD文档开发
  2. 732F Tourist Reform
  3. List循环添加对象时遇到问题的解决
  4. Drupal创建Omega 4.x 子主题layout笔记
  5. BZOJ 1822[JSOI2010]Frozen Nova 冷冻波
  6. leyou_02_nginx使用域名访问本地项目
  7. iType.js仿输入文字效果
  8. (转)AngularJS判断checkbox/复选框是否选中并实时显示
  9. 机器学习二 逻辑回归作业、逻辑回归(Logistic Regression)
  10. JAVA面试常见问题之锁机制篇