【问题标题】:Ember: how to set correctly Controller propertyEmber:如何正确设置控制器属性
【发布时间】:2013-10-14 00:06:21
【问题描述】:

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

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

【问题讨论】:

    标签: javascript ember.js


    【解决方案1】:

    首先,您必须在属性上使用“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 中,我在设置纬度后更改了模型上的一个属性并控制台记录它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-15
      相关资源
      最近更新 更多