ruby-on-rails - Backbonejs 路由 VS emberjs 路由

标签 ruby-on-rails angularjs backbone.js ember.js backbone-routing

这就是我在backbonejs中执行路由的方式,在决定调用哪个外部模板之前首先获取路由及其参数。我发现这非常灵活。

var Router = Backbone.Router.extend({
        routes: {
            //'':                                                         'renderBasic',
            ':module/:method/':                                        'renderDynamicViewPageBasic',
            ':module/:branch/:method/':                                'renderDynamicViewPageBranch',
            ':module/:branch/:method/set:setnumber/page:pagenumber/':  'renderDynamicViewPagePager',
            ':module/:branch/:method?set=:setnumber&page=:pagenumber': 'renderDynamicViewPagePager'
        },

        renderDynamicViewPageBasic: function (module,method) {

            $(el).html(Handlebars.getTemplate('template1')(data)); 
        },

        renderDynamicViewPageBranch: function (module,branch,method) {

            $(el).html(Handlebars.getTemplate('template2')(data)); 
        },

        renderDynamicViewPagePager: function (module,branch,method,setnumber,pagenumber) {

            $(el).html(Handlebars.getTemplate('template3')(data)); 

        }
    });

在 emberjs 中怎么样,我可以做同样的事情 - 在决定调用哪个外部模板之前先进行路由并获取其参数

我阅读了文档并进行了测试。它似乎不太灵活 - 例如,

App.Router.map(function() {
  this.route("about", { path: "/about" });
  this.route("favorites", { path: "/favs" });
});

是否可以在获取模板之前获取路由和参数,然后获取 Controller

如果没有,它似乎与使用 Angularjs 的情况相同,我最终决定不使用它,因为它在排序参数之前先获取模板

最佳答案

您可以使用 renderTemplate Hook 在 EmberJs 中定义模板“post params”,您可以在其中自定义要使用的模板。

http://emberjs.jsbin.com/oXUqUJAh/1/edit

App.Router.map(function() {
  this.route('apple', {path: 'apple/:id'}); 
});

App.AppleRoute = Ember.Route.extend({
  model: function(params) {
    return {coolProperty: params.id};
  },
  renderTemplate: function(controller, model) {
    // send in the template name
    this.render(model.coolProperty);
  }
});

关于ruby-on-rails - Backbonejs 路由 VS emberjs 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20906508/

相关文章:

ruby-on-rails - 如何使用 Mongoid 更新 Rails 中嵌套的 Mongo 文档属性?

ruby-on-rails - Rails - 服务器在不需要时从参数中剥离空格

javascript - 除非重新加载页面,否则简单的 Angular Rails 博客无法显示帖子

javascript - 在模型可用之前调用使用 app.filter 的自定义过滤器

javascript - & 符号模型未找到其 url

javascript - 我的第一个主干模型/ View 。我在正确的轨道上吗?

asp.net - 决策者问题 : compare ASP. NET/Ruby/Python on web UI controls

ruby-on-rails - 如何使用正则表达式从第一段和最后一段中删除所有 <br>

javascript - 了解测试中的过滤器注入(inject)

javascript - Hello World - Backbone + Firebase + Backfire