到目前为止我所拥有的:
App = Ember.Application.create({
LOG_TRANSITIONS: true
});
App.Router.map(function(match){
match('/').to('application');
match('/edit').to('edit');
});
App.ApplicationRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('edit');
},
events: {
startEdit: function( context ){
this.transitionTo( 'edit' );
}
}
})
App.EditRoute = Ember.Route.extend({
init: function(){
this._super()
console.log('EditRoute')
},
});
车把:
<script type="text/x-handlebars" data-template-name = 'application'>
Hello World
{{ outlet main }}
</script>
<script type="text/x-handlebars" data-template-name = 'edit'>
<div class = 'edit-background'> Edit State: {{ title }} </div>
</script>
我有四个问题:
当我打开应用程序时,它只保留在主页中,redirectTo 挂钩是否会立即将您重定向到另一个状态?
此外,我
AplicationRoute
根据此处的建议将这些事件散列在:How to programmatically transition between routes using Ember.js' new Router。但是我通读了答案,但仍然不确定您应该如何使用它。如何在控制台上测试路由器?在您可以通过调用命令在状态之间导航之前
transitionTo
,我现在该怎么办?出于某种奇怪的原因,我的应用程序模板似乎被渲染了两次,因为那里有两个“Hello World”,当尝试添加如下内容时:
<li>{{#linkTo edit}}edit{{/linkTo}}</li>
我收到此错误:
'Uncaught TypeError: Cannot read property 'container' of undefined -- ember.js:2223'