【问题标题】:Meteor - Trying to dynamically include template into another based on pathMeteor - 尝试根据路径将模板动态包含到另一个模板中
【发布时间】:2015-05-20 22:13:57
【问题描述】:

我正在尝试在另一个模板中包含基于路径的模板。我得到了它或多或少的工作,但仍然有一些问题,也许这里有人可以让我走上正确的道路。

我已经用过了

{{> UI.dynamic template=route }}

使用帮助器解析 URL 并返回正确的模板名称,但是我有几个问题:

1) 当我点击一个链接时,Iron::Router 会识别更改,但模板没有意识到这一点 - 几乎就像我点击静态链接时它没有重新加载一样。

2) Iron::Router 有一个包罗万象的功能,可以捕获任何主请求并将其传递给适当的模板,但是如果我有以下路径,例如,我会得到未找到的页面,例如:

/settings  -> works
/settings/profile -> 404

我的收获是这样的:

this.route("/:path?", function() {

});

【问题讨论】:

    标签: meteor iron-router meteor-blaze


    【解决方案1】:

    试试这个助手来获取当前的路线名称。

    UI.registerHelper("currentRouteName",function(){
        return Router.current()?Router.current().route.getName():"";
    });
    

    那么您可能需要执行以下操作:

    var thisRoute = Router.current().route.getName().split("/")
    

    并匹配您正在寻找的路线

    '/' + thisRoute[1] + '/';
    

    助手来自 meteor js iron router: apply CSS change whenever route changes 并适用于 css,但可能有助于查看您的用例。

    【讨论】:

      猜你喜欢
      • 2015-11-30
      • 2018-02-02
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2012-08-15
      • 2021-06-23
      • 1970-01-01
      • 2019-04-09
      相关资源
      最近更新 更多