Простое сравнение бросить неправильный результат Vue - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть 2 компонента в модале.

Первый:

              <v-text-field
          label="Limite de faltantes"
          type="number"
          v-model="lim_faltProd"
          ></v-text-field>

Второй:

          <v-text-field
          label="Limite de excedentes"
          type="number"
          v-model="lim_excProd"
          ></v-text-field>

Экспорт моего компонента:

export default {
  props: ['nombre', 'precio', 'lim_falt', 'lim_exc', 'id'],
  data () {
    return {
      error: '',
      idProd: this.id,
      nombreProd: this.nombre,
      precioProd: this.precio,
      lim_faltProd: this.lim_falt,
      lim_excProd: this.lim_exc
    }
  },
  watch: {
    nombre () {
      this.nombreProd = this.nombre
    },
    precio () {
      this.precioProd = this.precio
    },
    lim_falt () {
      this.lim_faltProd = this.lim_falt
    },
    lim_exc () {
      this.lim_excProd = this.lim_exc
    },
    id () {
      this.idProd = this.id
    }
}

Поэтому, когда я пытаюсь сделать такую ​​простую вещь, как

this.lim_faltProd> = this.lim_excProd

Это сводит с ума.

Посмотрите на это, я получаю

console.log (this.lim_faltProd) // 20

console.log (this.lim_excProd) // 100

console.log (this.lim_faltProd> = this.lim_excProd) // ВЫСТАВЛЯЕТ ИСТИНА !!!!



Я покажу это: У меня естьфункция, в которой я выполняю:

     async registrarProducto () {
this.error = this.lim_faltProd > this.lim_excProd
}

РЕЗУЛЬТАТ:

enter image description here

1 Ответ

0 голосов
/ 14 ноября 2018

Вы сравниваете строки; "20" больше "100", потому что "2" больше "1" (первый символ). Преобразуйте их в Число , если хотите сравнить числовое значение:

this.error = Number(this.lim_faltProd) >= Number(this.lim_excProd)

console.log("20" >= "100")

console.log(Number("20") >= Number("100"))
...