Удалить / сбросить значения объекта в javascript / vue.js [duplicate]

В дополнение к другим правильным ответам вы можете рассмотреть возможность масштабирования ваших значений, чтобы избежать проблем с арифметикой с плавающей запятой.

Например:

var result = 1.0 + 2.0;     // result === 3.0 returns true

... вместо:

var result = 0.1 + 0.2;     // result === 0.3 returns false

Выражение 0.1 + 0.2 === 0.3 возвращает false в JavaScript, но, к счастью, целочисленная арифметика в плавающей запятой является точной, поэтому ошибки с десятичным представлением можно избежать путем масштабирования.

В качестве практического примера, чтобы избежать проблем с плавающей запятой, где точность имеет первостепенное значение, рекомендуется обрабатывать деньги как целое число, представляющее число центов: 2550 центов вместо 25.50 долларов.


1 Дуглас Крокфорд: JavaScript: Хорошие детали: Приложение A - Ужасные части (стр. 105) .

33
задан Chris Schmitz 24 February 2016 в 15:33
поделиться

3 ответа

  1. извлекать исходные данные в функцию вне компонента
  2. , использовать эту функцию для установки исходных данных в компоненте
  3. повторно использовать эту функцию для сброса если это необходимо.

// outside of the component:
function initialState (){
  return {
    modalBodyDisplay: 'getUserInput', 
    submitButtonText: 'Lookup', 
    addressToConfirm: null,
    bestViewedByTheseBounds: null,
    location:{
      name: null,
      address: null,
      position: null
    }
  }
}

//inside of the component:
data: function (){
    return initialState();
} 


methods:{
    resetWindow: function (){
        this.$data = initialState();
    }
}

51
ответ дан Linus Borg 26 August 2018 в 22:45
поделиться
22
ответ дан gertas 26 August 2018 в 22:45
поделиться

Внимание, Object.assign(this.$data, this.$options.data()) не связывает контекст с данными ().

Итак, если вы используете это в своем методе данных, вы можете применить контекст с

Object.assign(this.$data, this.$options.data.apply(this))

cc, этот ответ был изначально здесь

4
ответ дан roli roli 26 August 2018 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: