0

Controller のプロパティを更新し、 で使用しようとしましたconsole.log()。HTML ページにはプロパティの更新された値が表示されますが、console.log() はまだ古い値を示しています。私は何を間違えましたか?console.log() で新しい値を取得するには?

詳細はhttp://emberjs.jsbin.com/AHiVeGe/3/editにあります

4

1 に答える 1

0

まず、プロパティで「get」を使用する必要があります。それ以外の:

console.log(this.controllerFor('index').latitude);

書きます

console.log(this.controllerFor('index').get('latitude'));

次に、navigator.geolocation.getCurrentPosition は非同期で実行され、すぐに返されるため、console.log は緯度が設定される前に実行されますが、返された後に実行されます。

3 つ目は、コントローラが設定される前にモデル フックが実行されることです。

第 4 に、モデルはオブジェクトでなければなりません。

あなたが何をしたいのかよくわかりませんでしたが、http://emberjs.jsbin.com/AHiVeGe/6/editで、緯度が設定された後にモデルのプロパティを変更し、console.log に記録しました。

于 2013-10-14T02:41:55.937 に答える