使用emberjs历史位置api与路由器失败与undefined

时间:2013-06-08 20:37:58

标签: ember.js ember-router

下面的jsbin工作,当点击链接时,hashbang网址变化很好。

您可以在此处预览:

jsbin

jsbin code view

当我向同名jsbin添加代码时,为了使用emberjs历史记录位置,url不会更改,并且会因未定义而失败。请参阅新的jsbin:

jsbin

向下滚动3/4向下以查看我添加的位置:

 EmBlog.Router.reopen({
    location: ‘history’
  });

这也失败了:

 EmBlog.Router.reopen({
    location: 'history',
    rootURL: '/'
 });

这是整个路由器:

  EmBlog.Router.map(function() {
     this.resource("posts", function(){
     this.route('new');
     this.route('show', {path: '/:post_id'}) ;
     this.route('edit', {path: '/:post_id/edit'});
     });
  });

例如,点击下面的帖子链接,不会更改网址,但只显示帖子模板中的内容:

  <script type="text/x-handlebars" data-template-name="application">


     <li> {{#linkTo "index"}} Home {{/linkTo}} </li>        
     <li> {{#linkTo 'posts'}} Post {{/linkTo}} </li>  

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

1 个答案:

答案 0 :(得分:1)

对于您的问题,问题在于jsbin网址。在重新打开路由器时更改baseUrl时需要设置/:sha/:id/edit/

EmBlog.Router.reopen({
    location: 'history',
    rootURL: '/aqifug/6/edit/'
 });

我的代码还有其他一些问题。一个是使用余烬数据。我刚把它改成了最新的ember build。而且评论的需求也没有用。