Ember:如何正确设置Controller属性

时间:2013-10-14 00:06:21

标签: javascript ember.js

我更新了Controller的一个属性,并尝试在console.log()中使用它。在HTML页面中,我看到属性的更新值,但console.log()仍然显示旧值。我做错了什么?如何在console.log()中获取新值?

详情请见http://emberjs.jsbin.com/AHiVeGe/3/edit

1 个答案:

答案 0 :(得分: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中,我在设置了纬度并更改了它后,更改了模型上的属性。