Javascript emberjs(1.0rc1)嵌套路由,但在父级时呈现默认子路由
我有一个ember应用程序,主页上显示两个链接:“登录”和“请求邀请” 每个链接都指向父(Javascript emberjs(1.0rc1)嵌套路由,但在父级时呈现默认子路由,javascript,ember.js,url-routing,ember-router,Javascript,Ember.js,Url Routing,Ember Router,我有一个ember应用程序,主页上显示两个链接:“登录”和“请求邀请” 每个链接都指向父(索引)路由下的嵌套路由,呈现到索引路由的{{outlet}}。它是这样工作的: /:将索引呈现到应用程序出口中 /sign\u in:呈现索引内容,然后将索引/sign\u in呈现到索引模板的出口中 /request\u invite:呈现索引内容,然后将索引/request\u invite呈现到索引模板的出口 这很好,但我想做的是默认情况下将“登录”模板呈现到索引中。因此,上面的第一个项目符号将更
索引
)路由下的嵌套路由,呈现到索引
路由的{{outlet}}
。它是这样工作的:
:将/
呈现到应用程序出口中索引
:呈现索引内容,然后将/sign\u in
呈现到索引模板的出口中索引/sign\u in
:呈现索引内容,然后将/request\u invite
呈现到索引模板的出口索引/request\u invite
索引中。因此,上面的第一个项目符号将更改为:
/
:将索引
呈现到{outlet}
中,并将索引/符号
呈现到索引模板的outlet中
模板
应用
{{{链接到“索引”}索引{{/linkTo}
{{outlet}}
指数
{{{linkTo”index.sign{u in}sign in{{/linkTo}
|
{{{#linkTo“index.request_invite”}request invite{{/linkTo}
{{outlet}}
索引/登录
索引/请求\u邀请
路线
App=Ember.Application.create();
App.Router.map(函数(){
这个.resource(“index”,function()){
这条路线(“签到”);
这条路线(“请求/邀请”);
});
});
这是一本书
首次加载时,它不会在
或索引/请求邀请模板中显示索引/签名。默认情况下,我想在
模板中显示索引/签名。\您可以显式声明IndexRoute并实现
更新:使用其他名为then index()的路由
如果我这样做,它不会将索引模板呈现到应用程序出口中。这里有一个小玩意儿——它应该有“登录|请求邀请”链接,但没有。查看我的更新和JS-Bin链接。这有点冗长,但我认为存在名称冲突问题,因为索引可能不应该是一个资源?是否有可能让“主”路由呈现“登录”路由的内容,而不让转换到
替换url?这意味着基本url(/
)和登录url(/sign\u in
)将呈现完全相同的内容。
App.IndexRoute = Ember.Route.extend({
redirect : function(){
this.transitionTo("index.sign_in");
}
});
App = Ember.Application.create();
App.Router.map(function() {
this.resource("main", function() {
this.route("sign_in");
this.route("request_invite");
});
});
App.IndexRoute = Ember.Route.extend({
redirect : function(){
this.transitionTo("main");
}
})
App.MainIndexRoute = Ember.Route.extend({
redirect : function(){
this.transitionTo("main.sign_in");
}
});