Как отследить изменения в объекте?
function OBJ(option) {
Object.assign(this, {
x: 16,
y: 32
}, option);
}
let obj = new OBJ();
obj.x = 64;
При создании объекта я создаю XML. При изменении значений объекта я хочу изменять эти данные и в XML. Как это лучше всего сделать?
obj.onchange = function() {
{ ... }
}
Как уже предложил JavaJunior можно использовать геттеры и сеттеры. Также можно воспользоваться Proxy. Что конкретно использовать Вам нужно решить самому исходя из Ваших задач и предпочтений.
var handler = {
get: function(target, name) {
console.log("GETTER [target: %o, name: %o, returns: %o]", target, name, target[name]);
return target[name];
},
set: function(target, name, value) {
console.log("SETTER [target: %o, name: %o, value: %o]", target, name, value);
if(name in target) {
target[name] = value;
return true;
}
return false;
}
};
var obj = {
a: 0
};
var p = new Proxy(obj, handler);
p.a;
p.a = 1;
p.a;
p.b;
Как вариант используй инкапсуляцию - переменные сделай локальными, добавь сеттеры с требуемой логикой и гетеры.
var handler = {
get: function(target, name) {
console.log("GETTER [target: %o, name: %o, returns: %o]", target, name, target[name]);
return target[name];
},
set: function(target, name, value) {
console.log("SETTER [target: %o, name: %o, value: %o]", target, name, value);
if(name in target) {
target[name] = value;
return true;
}
return false;
}
}
function OBJ(option) {
Object.assign(this, {
x: 16,
y: 32
}, option);
return new Proxy(this, handler);
}
let obj = new OBJ();
obj.x;
obj.x = 64;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Идея такая: есть локальный state (hook), в нем массив из четырех элементовНа экране есть кнопка добавления нового элемента в этот массив
Собираю проект через GulpТакая проблема: написал код, после "прогона" через babel выдал ошибку: regeneratorRuntime is not defined
У меня есть поле создание поста через input, где после нажатия на enter или кнопки опубликовать пост вызывается функция onAddPost
Нашел такой вариант создания анимации набора текста, но он почему-то работает только с текстовым абзацемПопробовал сделать тоже самое со span, ничего...