• 技术文章 >web前端 >js教程

    利用vue.js如何实现$refs和$emit 父子组件交互

    亚连亚连2018-06-19 16:11:10原创663
    本篇文章主要介绍了vue.js $refs和$emit 父子组件交互的方法,现在分享给大家,也给大家做个参考。

    本文介绍了vue.js $refs和$emit 父子组件交互的方法,分享给大家,废话不多说直接看代码:

    <strong>父调子 $refs (把父组件的数据传给子组件) </strong><br><br><template>
     <p id="app">
      <input type="button" name="" id="" @click="parentCall" value="父调子" />
      <hello ref="chil" />//hello组件
     </p>
    </template>
    <script>
     import hello from './components/Hello'
     export default {
      name: 'app',
      'components': {
       hello
      },
      methods: {
        parentCall () {
          this.$refs.chil.chilFn('我是父元素传过来的')
        }
      }
     }
    </script>
    /*Hello.vue :*/
    <template>
     <p class="hello"></p>
    </template>
    <script>
     export default {
      name: 'hello',
      'methods': {
        chilFn (msg) {
          alert(msg)
        }
      }
     }
    </script>
    <strong>子调父 $emit (把子组件的数据传给父组件)</strong>
    //ps:App.vue 父组件
    //Hello.vue 子组件
    <!--App.vue :-->
    <template>
      <p id="app">
        <hello @newNodeEvent="parentLisen" />
      </p>
    </template>
    <script>
     import hello from './components/Hello'
     export default {
      name: 'app',
      'components': {
       hello
      },
      methods: {
       parentLisen(evtValue) { 
        //evtValue 是子组件传过来的值
        alert(evtValue)
       }
      }
     }
    </script>
    <!--Hello.vue :-->
    <template>
      <p class="hello">
        <input type="button" name="" id="" @click="chilCall()" value="子调父" /> 
      </p>
    </template>
    <script>
     export default {
      name: 'hello',
      'methods': {
       chilCall(pars) {
        this.$emit('newNodeEvent', '我是子元素传过来的')
       }
      }
     }
    </script>

    上面是我整理给大家的,希望今后会对大家有帮助。

    相关文章:

    有关于JavaScript使用中Object值如何合并

    在Angular中如何实现验证

    在Angular中如何实现table表格排序

    在Vue中有关于localstorage和sessionstorage如何使用

    以上就是利用vue.js如何实现$refs和$emit 父子组件交互的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:使用axios如何实现ajax请求(详细教程) 下一篇:在Vue中extend 、component有哪些区别?

    相关文章推荐

    • Angular8+面试题整理之:基础知识点解析• 由浅入深详细整理JavaScript面试知识点• 带你深入聊聊Angular中的变化检测• javascript中math.random()方法会随机到1吗• 探索Node中如何应用反应式编程?优缺点分析

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网