博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue基础(8)--slot插槽-provider
阅读量:5957 次
发布时间:2019-06-19

本文共 2080 字,大约阅读时间需要 6 分钟。

import Vue from 'vue'const ChildComponent = {       inject:['yeye','value']             //重点,结合provide,上下多级传递值       template:`
childComponent
`, mounted:{ console.log(this.yeye,this.value) }}const component = { name:'component', compoennts:{ ChildComponent }, template:`
//具名插槽
//作用域插槽
`, data(){ return { style:{ width:'200px', height:'200px', border:'1px solid #aaa' } } }, model:{ prop:'value1', // event:'change' // }, props: ['value1'], methods:{ handleInput(e){ this.$emit('change',e.target.value) } }}new Vue({ el:'#root', provide(){ //跨层*级*组件通讯,注:Vue默认不是react的 const data={} Object.defineProperty(data,'value',{ //***重点** get:()=>this.value, //变为响应式 enumerable:true //变为响应式 }), return { //通过return方法传值 yeye:this, //非响应式 data //变为响应式 } }, components:{ CompOne:component }, propsData:'xxx ', //用传入prop失败 data:{ return { value:"123" } }, mounted(){ console.log('this.refs.comp') console.log('this.refs.span') }, template:`
this is content //具名插槽 {
{props.value}}{
{props.aaa}} //注意这儿拿到的是456999
`,})复制代码

重点:

  1. 作用域插槽,传值slot-scope="props" {
    {props.value}}
  2. 通常可以$parent可以拿到上级组件,跨层级传值通过provider
  3. 父级(跨级)提供provider,子集inject引用。提供的参数不是响应式的,要做处理。

注意

    官网说这种方法尽量不用,可能有坑,后续更新处理方案

转载地址:http://kdgxx.baihongyu.com/

你可能感兴趣的文章
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>
web安全问题分析与防御总结
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>