【问题标题】:I am not able to route to a template from the first "/". How can I solve this?我无法从第一个“/”路由到模板。我该如何解决这个问题?
【发布时间】:2015-08-27 03:38:43
【问题描述】:

我的客户端代码是

Router.configure({layoutTemplate:'layout',loadingTemplate:'loading'});

    Router.route('/thread/:_id',{
name: 'individualthread',
template: 'individualthread',
  waitOn:function(){
  return Meteor.subscribe('forumQuotes',this.params._id)
  },
data: function(){
  var currentThreadRoute=this.params._id;
  return forumQuotesList.findOne({_id:currentThreadRoute});
  }
});

  Router.route('MyHome',{name: 'myHome'});

因此,当我单击单个线程时,它会转到该线程,并且 URL 变为假设“localhost:3000/thread/5v6pJSuxvsJyhAA7G”。 然后,如果我单击“MyHome”href,则 url 将变为“localhost:3000/thread/MyHome”,并且不会路由到正确的模板。 我希望 url 变成“localhost:3000/MyHome”。

谁能帮我解决这个问题? 谢谢大家。

【问题讨论】:

    标签: javascript html meteor


    【解决方案1】:

    Router.route('MyHome',{name: 'myHome'});

    你可以在 Myhome 之前使用 ../ 来解决这个问题。

    Router.route('../MyHome',{name: 'myHome'});

    我希望这能解决您的问题。这是我的第一个答案。

    【讨论】:

      【解决方案2】:

      在您的 HTML 中使用 pathFor 链接是一种很好的做法。这使您的代码在路由更改时更易于管理。

      <a href="{{pathFor 'myHome'}}>MyHome</a>
      

      【讨论】:

        【解决方案3】:

        这可能更多地与您呈现链接的方式有关,而不是与您的路由器配置有关。

        您的链接可能如下所示:

        <a href="MyHome">MyHome</a>
        

        把它们改成这样:

        <a href="/MyHome">MyHome</a>
        

        【讨论】:

          猜你喜欢
          • 2020-03-25
          • 2020-02-14
          • 2020-06-24
          • 2021-07-31
          • 2020-12-28
          • 2019-12-03
          相关资源
          最近更新 更多