私はember-cli経由でEmberを学んでいます。「計算されたプロパティは、何かが取得しようとしない限り計算されない」ことに関連していると思われる問題がありますが、この場合、プロパティを「取得」する方法がわかりません。ember-cli を使用して、アプリ、1 つのコントローラー、1 つのサービス、および 1 つのテンプレートを作成しました。
ember new st
cd st/
ember g controller index
ember g service start
ember g template index
コントローラ:
import Ember from 'ember';
export default Ember.Controller.extend({
start: Ember.inject.service(),
value: Ember.computed('start', function () {
return this.get('start').value;
}),
actions: {
update: function() {
this.get('start').update();
alert(this.get('start').value);
}
}
});
サービス:
import Ember from 'ember';
export default Ember.Service.extend({
value: "original",
update: function() {
this.set('value', "updated");
}
});
テンプレート:
<p>{{value}}</p>
<br>
<button {{action "update"}}>Update</button><br>
次に、これを「エンバーサーブ」で提供します。予想どおり、表示される値は初期値「オリジナル」です。[更新] ボタンをクリックすると、新しい値が「更新されました」というアラートが表示されますが、元の値は画面に表示されたままです。計算されて更新されるように、この注入されたプロパティを「取得」するにはどうすればよいですか?
ember-cli は 1.13.8、ember 自体は 2.0.1 です