Как передать v-модель в другую v-модель - PullRequest
0 голосов
/ 26 апреля 2019

это мой ввод, я хочу, чтобы значение пароля равнялось ic_number без повторного ввода при вводе пароля. мы можем передать ic_number в v-модель пароля?

<div class="form-group">
    <label>Ic Number</label>
    <input
        id="ic_number"
        placeholder="Ic Number"
        v-model="form.ic_number"
        type="text"
        name="ic_number"
        class="form-control"
        :class="{ 'is-invalid': form.errors.has('ic_number') }"
    >
    <has-error :form="form" field="ic_number"></has-error>
</div>
<div class="form-group">
    <label>Password</label>
    <input
        id="password"
        placeholder="Password"
        v-model="form.password"
        type="password"
        name="password"
        class="form-control"
        :class="{ 'is-invalid': form.errors.has('passsword') }"
    >
    <has-error :form="form" field="password"></has-error>
</div>

текущий код в моем приложении vuejs

export default {
  data() {
    return {
      editMode: false,
      users: {},
      form: new Form({
        id: "",
        name: "",
        ic_number:"",
        no_phone:"",
        email: "",
        password: "",
        type: "",
        bio: "",
        photo: ""
      })
    };
  },

Я хочу пройти, как это, но ничего не показывает

password: password = this.ic_number,

Ответы [ 2 ]

1 голос
/ 26 апреля 2019

вы можете использовать watch для ic_number, при изменении ic_number будет использоваться метод watch

export default {
  data() {
    return {
      editMode: false,
      users: {},

      id: "",
      name: "",
      ic_number:"",
      no_phone:"",
      email: "",
      password: "",
      type: "",
      bio: "",
      photo: ""
    };
  },
  watch:{
    "ic_number":function(val,oldval){ this.password = val }
  }
}

Я не уверен, что вы имеете в виду от A до B и от B до C

как это демо

app.vue

<template>
  <div id="app">
    <Test1 v-model="hello"></Test1>
    <div>{{hello}}</div>
  </div>
</template>

<script>
import Test1 from "./components/Test1";

export default {
  name: "App",
  data() {
    return {
      hello: "hello"
    };
  },
  components: {
    Test1
  }
};
</script>

<style>
</style>

test1.vue

<template>
  <div>
    <input v-model="hello">
  </div>
</template>

<script>
export default {
  props: ["value"],
  data() {
    return {
      hello: this.value
    };
  },
  watch: {
    hello: function(val, oldval) {
      this.$emit("input", val);
    }
  }
};
</script>

<style>
</style>
0 голосов
/ 26 апреля 2019

, если вы просто хотите, чтобы значение пароля было одинаковым в ic_number. Вы можете просто установить это в директиве v-модели следующим образом:

v-model="form.password = this.form.ic_number"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...