ボンジュール!
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 ライフサイクル イベントを処理するように実装したいと思います。今説明したことを機能させるにはどうすれば変換できますか?
敬具