Скрытое значение из Input не работает с VUE JS

1

Скрытое значение vue не работает.

V-модель одного входа не работает.

<template>
  <form class="form-inline" type="POST" @submit.prevent="insertComment" role="form">
    {{ csrf_field() }}
    <div class="form-group">
      <input class="form-control" type="text" name="text" v-model="newcomment.text" placeholder="Your comments" />
      <input type="text" name="post_id" v-model="newcomment.post_id" value="@{{items.id}}" />
    </div>
    <div class="form-group">
      <input type="submit" class="btn btn-default" value="Enviar">
    </div>
  </form>
</template>

Значение v-model="newcomment.post_id" равно null.

Как это исправить?

  • 0
    Показать код компонента? Я предполагаю, что это потому, что вы также пытаетесь установить значение value="@{{items.id}}", это, вероятно, мешает v-model . Значение по умолчанию для ввода должно быть установлено в data компонента
  • 0
    Я хочу передать items.id данным модели
Показать ещё 1 комментарий
Теги:
vue.js

2 ответа

2
Лучший ответ

Я предполагаю, что вы используете vue 2, и то, что у вас спрашивает, в основном сводится к значению по умолчанию для ввода.

  1. Интерполяция внутренних атрибутов была удалена в vuejs 2. поэтому value="@{{items.id}}" не является юридическим выражением.
  2. v-model сути передаёт :value уже. поэтому передача его снова со value="@{{items.id}}" может привести к неожиданному поведению. этот аспект механики v-model документирован в документации vue.js.

    поэтому, как указано, v-model представляет собой просто синтаксический сахар для:

    <input v-bind:value="something" v-on:input="something =$event.target.value">

См. Шаблон, который вы должны использовать для достижения значения по умолчанию для ввода:

<template>
  <form class="form-inline" type="POST" @submit.prevent="insertComment" role="form">
    <div class="form-group">
      <input  v-model="newcomment.post_id"/>
    </div>

  </form>
</template>

<script>
export default {
  data() {
    return {
      newcomment: {
        post_id: 'this is default value'
      }
    }
  }
}
</script>
  • 0
    Работает нормально, спасибо !!
  • 0
    @PauloRodrigues не проблема, голосование вверх, если это возможно;)
0
<template>
  <form class="form-inline" type="POST" @submit.prevent="insertComment" role="form">
    {{ csrf_field() }}
    <div class="form-group">
      <input class="form-control" type="text" name="text" v-model="newcomment.text" placeholder="Your comments" />
      <input type="text" name="post_id" v-model="newcomment.post_id"  />
    </div>
    <div class="form-group">
      <input type="submit" class="btn btn-default" value="Enviar">
    </div>
  </form>
</template>

<script>
export default {
  data() {
    return {
        newcomment.post_id:  _this.items.id
    }
  }
}
</script>

v-модель и: значение оба одинаковы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню