我正在使用NativeScript构建一个简单的位置跟踪器。当前位置和过去的位置都存储在名为scope
的视图模型中并不断更新。当新的位置数据可用时,将调用setter addLocation。
var scope = new observableModule.fromObject({
"locations": [],
"lastLocation": {
"latitude": 0,
"longitude": 0,
"altitude": 0,
"horizontalAccuracy": 0,
"verticalAccuracy": 0,
"direction": 0,
"timestamp": "No location yet",
"speed": 0
},
set addLocation(loc) {
console.log('Setter called');
this.lastLocation = loc;
this.locations.push(loc);
}
});
将其作为视图模型导入页面。 setter的调用方式如下:
scope.addLocation = loc;
其中loc
是GeoLocation插件中watchLocation()
的输出。
似乎没有触发setter。控制台消息永远不会出现。我尝试添加其他setter,但它们也不起作用。吸气剂正在发挥作用。发生了什么事?