Meteorjs根据链接加载模板

时间:2015-07-23 15:20:33

标签: node.js meteor

我有一个包含3个链接的页面,每个链接都包含一个集合中的字段,我想单击一个链接,然后在集合中打开一个模板名称等于1的新页面(使用链接名称) )。我不知道我是否必须在路由或会话中这样做。

我的模板:

  $(document).ready(function() {
    $('div').is(":visible").each(function () {
       $(this).find('img').each(function() {
         $(this).attr("src", $(this).data("src"));
       });
    });
  });

路由器配置:

<template name="dgacDisplay"> <div class="row"> {{#each dgac}} <div class="col-md-12 formsDisplay"> <div> <p><a href="{{pathFor 'formsLayout'}}" target="_blank">{{header.reference}} - {{header.title}} - {{version}}</a></p> </div> </div> {{/each}} </div>

集合中的Objetc(还有更多):

this.route('dgacFormLayout', {
    path: '/dag/dgac/:name',
    data: function() {
        return Dag.findOne(this.params.name);
    }
});

我的页面有3篇文章:

  1. A01
  2. A02
  3. A03
  4. 我想在A01链接中点击时加载模板A01,在链接A02中点击时加载A02,依此类推......

    由于

1 个答案:

答案 0 :(得分:1)

基本上它是您需要设置的路由器的action属性。

我与meteorpad进行了一些测试,并且它运作良好。

http://meteorpad.com/pad/ibgSo89PnRXYmu82B/Iron:Router%20Basics

只需在我的测试设置中添加类似的动作功能。

this.route('dgacFormLayout', {
    path: '/dag/dgac/:name',
    data: function() {
        return Dag.findOne(this.params.name);
    }
    action: function() {
        var page = Dag.findOne(this.params.name);
        if(page) this.render(page.tpl);
        else this.render('pageNotFound');
    }
});