【问题标题】:Meteor - Multiple data contexts with Iron RouterMeteor - Iron Router 的多个数据上下文
【发布时间】:2015-08-30 18:02:06
【问题描述】:

我刚开始使用 Meteor 和 Iron Router。

在这里,我尝试使用两个数据上下文,但显然我做错了。我用谷歌搜索过,但这似乎不是一个很常见的问题,但我想它必须可以传递两个或多个数据上下文,对吧?

这是我的 routing.js

Router.route('/package/:_id', function () {
      //Returns the selected/clicked package
      var package = Packages.findOne({_id: this.params._id});
      //Returns all items in Items collection.
      var listItems = Items.find();
      this.render('PackageDetails', {data: package, listItems});
    });

我试图在其中使用两种上下文中的数据的模板(一个用于填充下拉列表,一个用于显示所选包的数据

<template name="PackageDetails">
    <label class="label label-default">Item type: </label><p>{{ item }}</p>
    <label class="label label-default">Quantity: </label><p>{{ quantity }}</p>
    <label class="label label-default">Id: </label><p>{{ _id }}</p>

    <form class="change-state">
        <div class="input-group">
        {{> sAlert}}
        <select class="form-control" name="state">
            <option selected="true" disabled>Select State</option>
            {{#each states}}
                <option>{{name}}</option>
            {{/each}}
        </select>
        </div><br>

        <div class="input-group">
        <input type="submit" value="Change state" class="btn btn-success"/>
        </div>
    </form><br>
</template>

我通过在返回数据的模板上使用帮助器解决了这个问题,但更愿意从路由中获取所有数据。

那么对此有什么想法吗?是否有更好的方法来实现这一点,或者是否可以通过 Iron Router 传递两个数据上下文,在这种情况下,如何?

【问题讨论】:

    标签: meteor iron-router


    【解决方案1】:

    你的数据对象声明语法错误,应该是:

    this.render('PackageDetails', {
      data: {
        package: package,
        listItems: listItems
      }
    });
    

    然后在您的模板中,您可以使用{{package.property}}{{#each listItems}} 引用数据上下文。

    【讨论】:

    • 谢谢!我实际上已经尝试了一些与此类似的不同语法,但看起来不像这样。顺便说一句,你知道 this.route 和 Router.route 之间的区别吗,猜猜它基本上是一样的(旧的和新的语法?)。两个都见过,但不知道用哪个...
    • 使用Router.route没有区别,是较新的语法。
    猜你喜欢
    • 1970-01-01
    • 2014-07-17
    • 2014-05-06
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    相关资源
    最近更新 更多