Javascript знать, когда значение объекта изменяется

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

Это привязывается к документу и будет применяться к элементам, которые будут отображаться после загрузки страницы.

Например:

$(document).on("click", $(selector), function() {
    // Your code here
});
3
задан Karric 28 March 2019 в 01:21
поделиться

2 ответа

x не может быть прокси-сервером самого себя

Конечно, это возможно. Вы можете изменить переменную так, чтобы она указывала на прокси, просто выполнив

x = new Proxy(x, handler)

Пример примитива:

const handler = {
  set: function(obj, prop, value) {
    console.log('setting prop: ', prop, ' to ', value)
    obj[prop] = value;
    return true;
  }
};

let x = { 'a': 1, 'b': 2 };

x = new Proxy(x, handler);

x.a = 3; // the method is automatically called
[ 117]
0
ответ дан charlietfl 28 March 2019 в 01:21
поделиться

Если честно, используйте прокси, если можете

Если вы действительно не можете использовать прокси, вы можете добиться этого, используя сеттеры и геттеры

Хотя это означает повторное объявление вашего исходного объекта x, я предполагаю, что он объявлен встроенным, как Минимальный, Полный и Проверяемый пример в вашем вопросе

let x = {
  _a: 1,
  _b: 2,
  get a() {
    return this._a;
  },
  get b() {
    return this._b;
  },
  set a(value) {
    console.log(`changing a from ${this._a} to ${value}`);
    this._a = value;
  },
  set b(value) {
    console.log(`changing b from ${this._b} to ${value}`);
    this._b = value;
  }
};
x.a = 3;

0
ответ дан Jaromanda X 28 March 2019 в 01:21
поделиться
Другие вопросы по тегам:

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