博主网站(未完善)
博主首页

目录

01图标库
02插件安装

01条件渲染
02列表渲染
03模板渲染
04计算属性
05侦听器
06样式绑定
07样式
08事件
09表单输入绑定
10生命周期
11组件
12脚手架
13vue-router
14vuex
15拖拽
16组件间传递

01HTML元素
02CSS样式

01filter、find……
02匿名函数……
03动态拼接地址
04vh、vm
05vue中ref
06js类型判断
07插槽
08富文本编辑器
09javaScript
10watch监听
11依赖注入
12ES6运算符
13flex-direction
14本地存储
15随机颜色
16中间延申
17多次触发问题
18nvm安装
19表单数据动态
20持久化存储
21$nextTick
22::v-deep
23tab失灵
25封装表单验证
26电梯导航栏
27页面滚动渐入动画

css3基础01

01bs列表
02bs栅格
03bs表单
更新中......

其他---11依赖注入

简介:大家可能知道常规组件传值,父传子使用子组件定义好的props值,子传父可以使用子组件里面定义的时间this.$emit();然后很多层的情况,一层一层慢慢传太慢,vue提供了依赖注入的钩子:provide/inject

步骤一:app.vue文件中

<template >
    <div @click="chooseImage">其他</div>
</template>
<script>
    export default{
        // 依赖注入,用来将app.vue文件中的方法共享出去(步骤二是接受方式,在sku_card_children中有)
        provide(){//步骤一
            return{
                app:this,//把this通过app共享给其他组件
            }
        },
        name:"goodss",
        data(){
            return{
                maxChooseImg:0
            }
        },
        methods:{
           show(){
               console.log('a');
           }
        }
    }
</script>
            
<style>
            
</style>

 

步骤二:其他文件中或组件中

<template >
    <div @click="chooseImage">其他</div>
</template>
<script>
    export default{
        inject:['app'],//依赖注入,步骤二,用于接受步骤一(在app.vue中)传过来的数据
        name:"goodss",
        data(){
            return{

            }
        },
        methods:{
            chooseImage(){//使用
                this.app.show((res)=>{//将函数以参数的形式传到App.vue文件中,并得到一个返回值
                    console.log(res);//res代表选择后返回的数据
         
}) } } } </script> <style> </style>

 

posted @ 2022-01-07 10:14  !ment  阅读(32)  评论(0编辑  收藏  举报