[Vue warn]: свойство или метод "$ v" не определен в экземпляре, но на него ссылаются во время рендеринга - PullRequest
0 голосов
/ 13 апреля 2020

Я использую Vue. js для проверки, но выдает ошибку:

vue .esm. js? A026: 628 [Vue warn]: свойство или метод "$ v" не определен в экземпляре, но на него ссылаются во время рендеринга. Убедитесь, что это свойство является реактивным, либо в параметре данных, либо для компонентов на основе классов, инициализируя свойство. См .: https://vuejs.org/v2/guide/reactivity.html#Declaring -Reactive-Properties .

Но я не знаю, как с этим справиться.

Вход. Vue:

<template>
<div id="login">
  <CContainer class="d-flex content-center min-vh-100">
    <CRow>
      <CCol>
        <CCardGroup>
          <CCard class="p-4">
            <CCardBody>
              <CForm>
                <h1>Login</h1>
                <p class="text-muted">Sign In to your account</p>
                <CInput 
                  type="text"
                  placeholder="Username"
                  required
                  update:value="username"
                  input:error-messages="usernameErrors"
                  @input="$v.username.$touch()"
                  @blur="$v.username.$touch()"
                  required
                  autocomplete="username email"
                >
                  <template #prepend-content><CIcon name="cil-user"/></template>
                </CInput>
                <CInput 
                  placeholder="Password"
                  input:rules="passwordRules"
                  type="password"
                  required
                  iuodate:value="password"
                  input="$v.password.$touch()"
                  @blur="$v.password.$touch()"
                  @input="$v.password.$touch()"
                  autocomplete="current-password"

                >
                  <template #prepend-content><CIcon name="cil-lock-locked"/></template>
                </CInput>
                <CRow>
                  <CCol col="6" class="text-left">
                    <CButton color="primary" class="px-4" @click="direDisplay">Login</CButton>
                  </CCol>
                  <CCol col="6" class="text-right">
                    <CButton color="link" class="px-0">Forgot password?</CButton>
                    <CButton color="link" class="d-md-none">Register now!</CButton>
                  </CCol>
                </CRow>
              </CForm>
            </CCardBody>
          </CCard>
          <CCard
            color="primary"
            text-color="white"
            class="text-center py-5 d-sm-down-none"
            body-wrapper
          >
            <h2>Sign up</h2>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
            <CButton
              color="primary"
              class="active mt-3"
            >
              Register Now!
            </CButton>
          </CCard>
        </CCardGroup>
      </CCol>
    </CRow>
  </CContainer>
</div>
</template>

<script>
import Dashboard from '../Dashboard.vue';
import { required,minlength,username,password } from 'vuelidate/lib/validators'
import { mapState, mapActions } from 'vuex'
export default {
  name: 'Login',
 methods:{
          direDisplay(){

          //  console.log(this.id=this.$refs.groupid.value);
          //   console.log('pasword is ' +password);

            //this.$router.push('/Dashboard')
            if (this.data.username==='Abc' && this.data.password==='Abc123@') {
              this.$router.push('/Dashboard') 
           } else {
              alert('password username cannot match');
            }
          }
        }
   }
</script>
...