zoukankan      html  css  js  c++  java
  • vue中 父子组件的通讯

    1、父组件可以使用 props 把数据传给子组件。
    2、子组件可以使用 $emit 触发父组件的自定义事件

    实例: 父组件: layout.vue  子组件:logform.vue

    子组件:

    <template>
    <div class="login-form">
      <div class="g-form">
        <div class="g-form-line">
          <span class="g-form-label">用户名:</span>
          <input type="text" v-model="usernameModel" placeholder="请输入用户名">
          <span class="g-form-error">{{usernameError.errorText}}</span>
        </div>
        <div class="g-form-line">
          <span class="g-form-label">密码:</span>
          <input type="password" v-model="passwordModel">
          <span class="g-form-error">{{passwordError.errorText}}</span>
    
        </div>
        <div class="g-form-button">
          <button class="button" @click="login">登陆</button>
        </div>
      </div>
    </div>
    </template>

    子组件中,this.$emit向父组件传递参数res.data

    methods: {
        login () {
          if (this.usernameError.status === false || this.passwordError.status === false) {
            alert('部分选项未通过')
          } else {
            this.$http.get('api/login').then(
              (res) => {
                // 子组件只负责触发父组件的事件,而实际的处理内容在父组件中完成
                // console.log(res.data)
                this.$emit('has-log', res.data)
              },
              (error) => {
                console.log(error)
              }
            )
          }
        }
    }

    父组件中,调用绑定的methods只写方法名,不用带参数。而该方法在父组件中定义时,带参数

     <myDialog :isShow="isShowLoginDialog" @on-close="closeDialog('isShowLoginDialog')">
        <log-form @has-log="loginSuccess" @close-form="closeDialog('isShowLoginDialog')"></log-form>
      </myDialog>
    methods:{
        closeDialog (param) {
          this[param] = false
        },
        loginSuccess (data) {
          console.log(data)
          // this.username = data.username
          // this.closeDialog('isShowLoginDialog')
        }
    }
  • 相关阅读:
    一些比较实用的小函数
    开发KOL程序 (1)
    开发KOL程序2
    使用mask来制作图像透明
    用U盘方便快捷安装系统
    Windows记忆专家
    Delphi开发桌面图标列表查看程序
    js压缩上传图片,转载
    js操作二进制数据
    mui扫码横屏全屏
  • 原文地址:https://www.cnblogs.com/ceceliahappycoding/p/10422068.html
Copyright © 2011-2022 走看看