如何在ember中创建两个单独的页面

时间:2013-08-23 11:28:43

标签: javascript grails ember.js ember-data

我正在尝试将ember集成到我的grails应用程序中。我有一页在Ember工作但不确定如何有两个不同的页面。

我有一个名为color.gsp的页面,服务器什么都不做,只是重定向到此页面所以方法只是def color() {}

在此页面中,我有几个模板,其中一个是Application模板。我有App.js处理此页面上的所有内容,此页面上的一切正常。

问题

现在我想要另一个名为shade.gsp的页面,其中服务器也不应该通过重定向执行任何操作,因此该方法将只是def shade() {}

问题是,App.js如何知道是否在shade.gsp或color.gsp中更新应用程序模板。

我知道这可能不是在ember中做事的理想方式。但由于我正在整合ember而不是完全覆盖,我需要这个选项才能工作。有没有办法为colorshade提供单独的JS文件?

1 个答案:

答案 0 :(得分:0)

我认为改变你的js结构,反映你的依赖关系可以解决这个问题。

// App.js

App.Router.map(function() {
  this.route('color');
  this.route('shade');
});

// Color.js

// here all color resources
App.ColorRoute = Ember.Route.extend({
  // your implementation
});

// Shade.js
// here all shade resources
App.ShadeRoute = Ember.Route.extend({
  // your implementation
});

ApplicationResources.groovy

modules = {
    application {
        dependsOn 'jquery', 'handlebars', 'ember'
        resource url:'js/App.js'
    }
    shade {
        dependsOn 'application'
        resource url: 'js/Shade.js'
    }
    color {
        dependsOn 'application'
        resource url: 'js/Color.js'
    }
}

在shade.gsp

<r:require modules="shade"/>

在color.gsp

<r:require modules="color"/>