0

你好 !

我刚开始学习 EmberJS 框架概念,有点迷茫。我会尽量说清楚。

我将 Ember 与 ember-rails gem 集成到我的 Rails 应用程序中。在我的测试 Rails 应用程序中,我管理着一组文章。

ember-rails 设置为模板、控制器、视图和其他东西创建了一堆文件夹。

我有一个文章页面,显示我文章的内容(标题、描述……)。在这个页面上,我不想用 HTML 显示我的文章内容,我想使用 Ember。

我创建了一个应用程序模板

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

然后,我为我的文章页面创建了模板:

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

请注意,我暂时不想使用任何路由。我只想在页面上显示我的文章。所以我在我的show.html.erb(在脚本标签中)引导文章 JSON 并使用我发现的一种技术来存储和检索它。

我发现实现这一目标的最好方法是创建一个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