gpt4 book ai didi

javascript - emberjs (1.0rc1) 嵌套路由但在父路由时呈现默认子路由

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:15 25 4
gpt4 key购买 nike

我有一个主页显示两个链接的 ember 应用程序:“登录”和“请求邀请”。

每个链接都指向父 (index) 路由下的嵌套路由,渲染到 index{{outlet}}路线。它是这样工作的:

  • /:将index渲染到application outlet
  • /sign_in:呈现索引内容,然后将 index/sign_in 呈现到索引模板的导出
  • /request_invite:呈现索引内容,然后将 index/request_invite 呈现到索引模板的导出

这工作正常,但我想做的是默认将“登录”模板呈现到 index socket 中。所以上面的第一个项目符号会变成这样:

  • /:将 index 渲染到 {{outlet}} 渲染 index/sign_in 进入索引模板的导出

模板

<script type="text/x-handlebars" data-template-name="application">
<h1>application</h1>
{{#linkTo "index"}}index{{/linkTo}}
{{outlet}}
</script>

<script type="text/x-handlebars" data-template-name='index'>
<h2>index</h2>
{{#linkTo "index.sign_in"}}Sign in{{/linkTo}}
|
{{#linkTo "index.request_invite"}}Request Invite{{/linkTo}}
{{outlet}}
</script>

<script type="text/x-handlebars" data-template-name='index/sign_in'>
<h3>index/sign_in</h3>
</script>

<script type="text/x-handlebars" data-template-name='index/request_invite'>
<h3>index/request_invite</h3>
</script>

路线

App = Ember.Application.create();

App.Router.map(function() {
this.resource("index", function() {
this.route("sign_in");
this.route("request_invite");
});
});

这是一个jsbin with the above code .

首次加载时,它不会显示 index/sign_inindex/request_invite 模板。默认情况下,我会显示 index/sign_in 模板。

最佳答案

您可以显式声明 IndexRoute 并实现 redirect hook:

App.IndexRoute = Ember.Route.extend({
redirect : function(){
this.transitionTo("index.sign_in");
}
});

更新:使用其他名为 then index ( JS Bin Link ) 的路由

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");
}
});

关于javascript - emberjs (1.0rc1) 嵌套路由但在父路由时呈现默认子路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15365917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com