我更新了 Controller 的一个属性并尝试在console.log()
. 在 HTML 页面中,我看到了属性的更新值,但 console.log() 仍然显示旧值。我做错什么了?如何在 console.log() 中获取新值?
问问题
43 次
1 回答
0
首先,您必须在属性上使用“get”。代替:
console.log(this.controllerFor('index').latitude);
写
console.log(this.controllerFor('index').get('latitude'));
其次,navigator.geolocation.getCurrentPosition 异步运行并立即返回,因此您的 console.log 在设置纬度之前运行,但在它返回之后运行。
第三,模型钩子在控制器设置之前运行。
第四,模型必须是一个对象。
我不太确定你想做什么,但在http://emberjs.jsbin.com/AHiVeGe/6/edit中,我在设置纬度并 console.log 后更改了模型上的一个属性。
于 2013-10-14T02:41:55.937 回答