0

ボンジュール!

EmberJS フレームワークの概念を学び始めたばかりで、少し迷っています。できるだけ明確にしようと思います。

Ember-Rails gem を使用して、Rails アプリケーションに Ember を統合しました。私のテスト Rails アプリケーションでは、一連の記事を管理しています。

ember-rails のセットアップにより、テンプレート、コントローラー、ビューなどのフォルダーが多数作成されました。

記事の内容 (タイトル、説明など) を表示する記事ページがありました。このページでは、記事の内容を HTML で表示するのではなく、Ember を使用したいと考えています。

アプリケーション テンプレートを作成しました。

<h1>My app</h1>
{{outlet}}

次に、記事ページのテンプレートを作成しました。

<h1>{{title}}</h1>
{{description}}
...

現時点ではルーティングを使用したくないことに注意してください。ページに自分の記事を表示したいだけです。そのため、記事の JSON を自分のshow.html.erb(script タグで) ブートストラップし、見つけた手法を使用してそれを保存および取得しました。

これを達成するために私が見つけた最善のことは、IndexRoute.

App.IndexRoute = Ember.Route.extend({
  setupController: function(controller) {
    this.loadPreloadedVarInController(controller, 'currentArticle', 'article');
  },

  loadPreloadedVarInController: function(controller, storeVarName, controllerVarName){
    PreloadStore.getAndRemove(storeVarName).then(function(val){
      if (!_.isEmpty(val)) {
        controller.set(controllerVarName, val);        
      }
    });
  }
});

それでも何も表示されません。記事テンプレートが表示されません。だから私は前のコントローラーに追加しました:

  renderTemplate: function() {
    this._super();
    this.render('article');
  }

いよいよ登場です。私の質問は、ember ビューに関するいくつかのドキュメントを読んだことです。したがって、テンプレートのヘルパーを含め、イベントを管理し、DOM ライフサイクル イベントを処理するように実装したいと思います。今説明したことを機能させるにはどうすれば変換できますか?

敬具

4

0 に答える 0