Javascript Ember.js插座工作不正常
我目前正在学习ember.js,我遇到了一个非常基本的问题:我找不到一种方法来使用outlets在另一个模板中呈现模板。以下是我拥有的文件: 车把Javascript Ember.js插座工作不正常,javascript,html,ember.js,Javascript,Html,Ember.js,我目前正在学习ember.js,我遇到了一个非常基本的问题:我找不到一种方法来使用outlets在另一个模板中呈现模板。以下是我拥有的文件: 车把 <div class='navbar navbar-inverse navbar-fixed-top' role='navigation'> <div class='navbar-inner'> <div class='container'> <a class=
<div class='navbar navbar-inverse navbar-fixed-top' role='navigation'>
<div class='navbar-inner'>
<div class='container'>
<a class="brand" href="#">App</a>
<div class='nav-collapse collapse'>
<ul class='nav'>
<li>{{#linkTo 'application'}}Home{{/linkTo}}</li>
<li>{{#linkTo 'posts'}}Posts{{/linkTo}}</li>
</ul>
</div>
</div>
</div>
</div>
<div class='container' id='main'>
<div class='content'>
<div class='row'>
<div class='span12'>
<div class='page-header'></div>
{{outlet}}
</div>
</div>
</div>
</div>
</div>
router.js:
App.Router.map(function() {
this.route('posts',{ path: '/posts' });
this.route('application',{ path: '/' });
});
下面是发生的情况:当我加载应用程序时,页面当前显示为导航栏和一个空白的白色页面。点击“Posts”链接显示Posts模板,但是nav消失了,就好像Posts模板替换了整个“application”模板一样。
你能帮我弄清楚为什么会发生这种情况吗?在内部使用
ApplicationRoute
,我认为使用this.route('application',{path:'/')代码>正在导致冲突
所以只需删除this.route('application',{path:'/')代码>一切都将正常工作
如果需要主页/初始页,可以创建索引.handlebar
模板,因为ember会自动创建此.route('index',{path:'/')代码>。并将链接更改为“应用程序”
为链接为“索引”
,以获得预期的行为
请看一下那把小提琴,看看它是否能用我看到了你的小提琴,它能用,但在我的情况下不起作用。我仍然会得到“posts”模板替换整个页面的相同行为(导航栏消失)。我还遗漏了其他一些细节吗?我用这个作为参考编写了我的应用程序:只是删除了这个.route('application',{path:'/'});为我工作。你们在控制台中有错误吗?一点错误都没有,我在余烬控制台(chrome)中得到了一个“转换成帖子”,但一点错误都没有。也许我使用rails作为一个框架的事实在某种程度上与此相冲突,但我实际上不知道如何解决。当我在导航栏中单击“Posts”时,似乎模板正在取代rails的yield,而不是ember的outlet。这会给你任何提示吗?所有模板都会在ember应用程序启动时加载。因此,如果您单击“Posts”链接,并且没有向rails发送请求,rails就不是问题所在。我想。
App.PostsRoute = Ember.Route.extend({
model: function() {
return App.Post.find();
}
});
App.Router.map(function() {
this.route('posts',{ path: '/posts' });
this.route('application',{ path: '/' });
});