0

我想创建一个网站,您可以从列表中选择大学,然后在其旁边显示该大学的专业列表,然后在选择专业后,显示这两个旁边的科目列表。但是我不知道为什么在选择专业后,URL 会发生变化,但专业列表会消失(以及主题列表)。我的代码在这里:http: //jsbin.com/IPadIsu/1/edit。因为 url 是正确的,所以刷新页面后,一切都正确呈现。对我来说奇怪的是:Ember 调试器或控制台没有错误。

编辑:请始终从大学列表中选择最佳选项,因为没有为其他大学定义学科列表。

4

1 回答 1

2

我知道 Ember 有一些学习曲线,让我给你一些提示。

 App.ApplicationRoute = Ember.Route.extend({
   renderTemplate: function() {
    // Render default outlet   
    this.render();
    // render extra outlets
    this.render("navbar", {
        outlet: "navbar",
        into: "application"
    });
   }
 });

 <script type="text/x-handlebars">
<!-- Navigation menu top bar -->
{{outlet "navbar"}}
{{outlet}}
 </script>

您正在手动执行所有渲染并设置渲染。这给 Ember 增加了很大程度的复杂性。特别是因为如果你渲染到一个插座中,你将破坏任何也存在于该命名插座中的插座。

在您的应用程序路由上,您可以完全删除 renderTemplate 方法,只在应用程序模板中使用部分(特别是因为您甚至没有指定在渲染到导航栏模板时使用不同的控制器,并且它们使用相同的控制器)。

 App.ApplicationRoute = Ember.Route.extend();

 <script type="text/x-handlebars">
<!-- Navigation menu top bar -->
{{partial "navbar"}}
{{outlet}}
 </script>

还有许多其他手动渲染操作可以扔掉。我已经更新了你的例子:

http://jsbin.com/IPadIsu/17/edit

于 2013-10-15T02:12:49.927 回答