gpt4 book ai didi

javascript - Ember 失去活跃踪迹

转载 作者:行者123 更新时间:2023-11-30 12:30:29 25 4
gpt4 key购买 nike

嗨,我在 ember 中有以下路线:

App.Router.map(function(){

this.resource('meat', function() {
this.resource('poultry', function() {
this.route('chicken');
this.route('duck');
});
});
});

我的模板是这样的:

<script type='text/x-handlebars' id='meat'>       
<div>{{outlet}}</div>
</script>


<script type='text/x-handlebars' id='poultry'>
Poultry
<br/><br/>
{{#link-to 'poultry.chicken'}}Chicken{{/link-to}}
{{#link-to 'poultry.duck'}}Duck{{/link-to}}

<br/><br/>
<div>
{{outlet}}
</div>
</script>

<script type="text/x-handlebars" id="poultry/chicken">
<h4>Chicken</h4>
</script>

<script type="text/x-handlebars" id="poultry/duck">
<h4>Duck</h4>
</script>

问题是,当我点击“Duck”链接时,我失去了“Poultry”的事件踪迹。

想不通,路径是对的,但是active类没有了。

这是一个jsbin:http://emberjs.jsbin.com/yularepare/2/

谢谢!

最佳答案

您评论中的代码与 JSBin 略有不同。您没有包含应用程序模板。在这里:

<script type='text/x-handlebars' data-template-name='application'>
{{#link-to 'poultry.chicken' }}Poultry{{/link-to}}

<br/><br/>
<div>
{{outlet}}
</div>
</script>

您正在丢失 active 类,因为您直接链接到 'poultry.chicken',而不是 'poultry'。它不是父路由,而是兄弟路由。如果你想保留事件类,请将 link-to 更改为:

{{#link-to 'poultry'}}家禽{{/link-to}}

它应该可以正常工作。工作 JSBin:http://jsbin.com/fefucalaqi/1/edit

编辑:评论询问如何处理重定向到第一个结果。在这里添加。

App.PoultryIndexRoute = Ember.Route.extend({
redirect: function() {
// write some code to get to your first result here.
this.transitionTo('poultry.chicken');
}
});

现在您将同时获得:所有家禽路线上的事件类,如果没有选择,您将显示第一个。

关于javascript - Ember 失去活跃踪迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27893521/

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