私は Ember.js の初心者ですが、私の問題に対する非常に簡単な答えがあると思いますので、ご容赦ください。
コントローラーのプロパティと、コントローラーの対応するテンプレートにある Ember.TextField の「値」プロパティとの間の双方向バインディングを確立しようとしています。次のように、Ember.TexField の value プロパティに反映される特定の初期値をコントローラーのプロパティに与えることに既に成功しています。
js コード:
App = Ember.Application.create();
App.IndexController = Ember.ObjectController.extend({
aProperty: 1 });
テンプレート:
<script type:"text/x-handlebars" data-template-name="index">
{{view Ember.TextField valueBinding="aProperty"}}
</script>
これで、テキスト フィールドに値 ("1") が表示され、すべて問題ありません。テキストフィールドに新しい値を入力しようとすると、「2」と言い、ブラウザーコンソールで App.IndexController.get("aProperty") を使用して「aProperty」の値を確認しようとすると、機能せず、スローされます「get()」が定義されていないというエラーが表示されます。IndexController から「aProperty」の値を取得し、値が Ember.TextField に入力した値に更新されたかどうかを確認するにはどうすればよいですか?
ヒント、コメント、アドバイスは大歓迎です!
ありがとうございました!
編集:
以下の両方の回答で、私がやろうとしていたことが達成されました。私もそれを機能させました:次のApp.IndexController
ように、それを拡張した後にの具体的なインスタンスを作成しました:
App.IndexController = Ember.ObjectController.extend({
aProperty: 1 });
App.indexController = App.IndexController.create();
aProperty
を使用して、コンソールからの値を取得できますApp.cueController.get('aProperty')
。ただし、Ember のドキュメントのすべての例では、コントローラーの具体的なインスタンスが作成されることはありません。そのため、これが必要かどうか疑問に思っており、Ember が実際のアプリで推奨することはあまりありません。何か案は?