如何从Meteor中的模板文件访问URL参数?

时间:2017-01-19 05:55:32

标签: meteor

我正在使用Iron Router,我想从URL获取参数并将其放在我的模板文件中。例如:

  

http://localhost:3000/categories/electronics

在我的模板文件中:

<template name="category_products">
     <p>Sorry, there are no _____ products.</p>
</template>

我想将_____替换为electronics,因此输出将为

  

对不起,没有电子产品。

1 个答案:

答案 0 :(得分:1)

假设您已定义路线,则可以使用this.params获取参数。您还可以为模板提供数据上下文,该数据上下文是包含多个键的对象:

Router.route('/categories/:name',()=>{
  this.render('category_products', {
    data: function () {
      return {
        cursor: Products.find({categoryName: this.params.name}),
        category: this.params.name
      };
    }
  });
});

HTML:

<template name="category_products">
  {{#if cursor.count()}}
    {{#each cursor}}
      {{name}}
    {{/each}}
  {{else}}
    <p>Sorry, there are no {{category}} products.</p>
  {{/endif}}
</template>