0

Ember アプリの AuthController で、AuthController 内からフェッチできる currentUser を設定します。

this.get('currentUser');

AuthController 内から。別のコントローラーではneeds: ['auth']、認証コントローラーから currentUser 変数をフェッチできるように使用していますが、機能していません。どうすればいいですか?

App.BlobController = Ember.ObjectController.extend({
     needs: ['auth'],

    actions: {

    doSomething: function() {
       var user;
       user = this.get('currentUser'); /// not working
       $.post(".....

アップデート

コントローラー間の依存関係を管理するための Ember ドキュメントhttp://emberjs.com/guides/controllers/dependencies-between-controllers/の指示に従って、私もやろうとしましcontrollers.auth.get('currentUser');たが、うまくいきませんでした

doSomething: function() {
           var user;
           user = controllers.auth.get('currentUser'); /// not working
           $.post(".....
4

1 に答える 1

4

それが機能する方法は、次のようにすることです。

App.BlobController = Ember.ObjectController.extend({
  needs: ['auth'],
  actions: {
    doSomething: function() {
      var user;
      user = this.get('controllers.auth.currentUser');
      $.post("...

または、プロパティBlobControllerを参照する計算されたエイリアスをよりクリーンに宣言します。AuthController currentUser

App.BlobController = Ember.ObjectController.extend({
  needs: ['auth'],
  currentUser: Ember.computed.alias('controllers.auth.currentUser'),
  actions: {
    doSomething: function() {
      var user;
      user = this.get('currentUser');
      $.post("...

それが役に立てば幸い。

于 2013-09-26T15:52:50.220 に答える