我创建了一个简单的测试,我尝试使用connectOutlet。但是,渲染的并不多。这是我的测试代码:http://jsfiddle.net/jeanluca/53dpA/
总结一下应用程序。我认为问题在以下代码中
App.Router.map(function(match) {
match('/').to('index');
});
App.IndexRoute = Em.Route.extend({
connectOutlets: function(router) {
router.get('applicationController').connectOutlet('sidebar', 'navigation');
router.get('applicationController').connectOutlet('content');
}
});
有什么建议这个代码有什么问题吗?
此外,在我在网上找到的几乎任何示例代码中,我都看到App.Router已定义
App.Router = Em.Router.extend({
enableLogging: true,
root: Em.Route.extend({
index: Em.Route.extend({
route: '/',
connectOutlets: function(router) {
.... etc ....
因为已经定义了ember-latest App.Router,我认为这是定义路由器的旧方法吗?
答案 0 :(得分:3)
我在你的小提琴中看到你正在使用pre-2。最新版本是4前,所以我建议你使用它。 http://emberjs.com/guides/与4之前的版本保持同步。
我创建了一个小提琴,并以您的代码作为起点,最终得到了我认为您尝试完成的内容:http://jsfiddle.net/Energiz0r/9Xasr/4/
基本上,connectOutlet替换为
this.render('content', {into: 'index', outlet:'content');
新路由API中还有很多其他变化。再次浏览http://emberjs.com/guides/的指南,全面了解这一切。
希望这有帮助!