检查一个对象 属性 是否改变了它的值
Check if an object property changes its value
我有两个应用程序(一个在 C++ 中,另一个在 node-webkit 中)通过 OSC 进行通信。当我按 +
时,一个值会增加,而当我按 -
时,该值会减少。输出被发送到 node-webkit 实例,然后使用以下方式处理消息:
$scope.$on('FooBar', function (event, obj) {
//stuff happens here
};
在这种情况下,obj
有一个 属性、foobar
,一个正整数,每次我按下这些键时它都会上升和下降。
问题是我需要更改 FooBar 的相应本地值。我尝试使用:
var aux = obj.foobar;
if (aux < obj.foobar) {
FooBarManager.raiseFooBar();
} else {
if (aux > obj.foobar) {
FooBarManager.lowerFooBar();
}
}
但我无法使逻辑正常工作。当按下某个键并更改值时,aux
将始终等于 obj
的 属性,因此什么也不会发生。
这样有用吗?
var previousFooBar = 0; // whatever your default is
$scope.$on('FooBar', function (event, obj) {
if (obj.foobar > previousFooBar) {
FooBarManager.raiseFooBar();
} else if (obj.foobar < previousFooBar) {
FooBarManager.lowerFooBar();
}
previousFooBar = obj.foobar;
});
我有两个应用程序(一个在 C++ 中,另一个在 node-webkit 中)通过 OSC 进行通信。当我按 +
时,一个值会增加,而当我按 -
时,该值会减少。输出被发送到 node-webkit 实例,然后使用以下方式处理消息:
$scope.$on('FooBar', function (event, obj) {
//stuff happens here
};
在这种情况下,obj
有一个 属性、foobar
,一个正整数,每次我按下这些键时它都会上升和下降。
问题是我需要更改 FooBar 的相应本地值。我尝试使用:
var aux = obj.foobar;
if (aux < obj.foobar) {
FooBarManager.raiseFooBar();
} else {
if (aux > obj.foobar) {
FooBarManager.lowerFooBar();
}
}
但我无法使逻辑正常工作。当按下某个键并更改值时,aux
将始终等于 obj
的 属性,因此什么也不会发生。
这样有用吗?
var previousFooBar = 0; // whatever your default is
$scope.$on('FooBar', function (event, obj) {
if (obj.foobar > previousFooBar) {
FooBarManager.raiseFooBar();
} else if (obj.foobar < previousFooBar) {
FooBarManager.lowerFooBar();
}
previousFooBar = obj.foobar;
});