【问题标题】:Collection array Manipulation through Page Templates Meteor?通过页面模板 Meteor 进行集合数组操作?
【发布时间】:2016-05-20 07:32:52
【问题描述】:

我现在所拥有的。我有一个名为 Nodes 的集合。

Nodes = new Mongo.Collection('nodes');

我正确地发布和订阅了这个集合,所以这不是问题 我插入一些信息进行测试,因为这些将是气象站。

if(Nodes.find().count() === 0) {
    Nodes.insert({
        name: "OSU Node 1",
        humidity: [1,2,3,4,5,6,7,8,9,10]
    });
    Nodes.insert({
        name: "Storm Node 1",
        humidity: [11,22,33,44,55,66,77,88,99,10]
    });
}

现在我有一个显示这些节点的侧边栏,并加载一个 NodePage 来显示我选择的节点的图形数据。

<div class="nodes">
    {{#each nodes}}
        <li>
            <a href="{{pathFor 'NodePage'}}">
                {{name}}
            </a>
        </li>
    {{/each}}
</div>

HTML 然后 js 只是通用的

Template.sidebar.helpers({
nodes: function(){
    return Nodes.find();
}});

这行得通 在我的路由器中,它显示了所选节点的 _id

Router.route('/:_id', {
   name: 'NodePage'
});

此页面目前只有一个指向{{&gt; graph}} 页面的链接。因为gps也有一个。但这是真正的问题。在插入中我有一个数组。我只想显示所选节点的数组。我在页面上有 _id,但似乎无法获得奇异节点。我已经得到了两个节点及其数组。 我有 name="graph" 页面的 HTML

{{#each humid}}
    <ul>{{name}}
        {{#each humidity}}
            <a>{{this}}</a>
        {{/each}}
    </ul>
{{/each}}

而 JS 只是

Template.graph.helpers({
    humid : function(){
        return Nodes.find();
    }
});

这可行,但给了我来自集合的两个节点以及每个节点的两个数组。

我的目标是能够加载一个页面。仅显示该节点的图表 湿度数据。不是集合中的其他节点。我在很多论坛和很多同事上都问过这个问题,没有人能回答这个问题。 链接到网站和 Github 代码。 My website for this code网站链接 Go to echo-project-workGithub链接

【问题讨论】:

    标签: javascript arrays meteor collections web-deployment


    【解决方案1】:

    这里有一些示例代码来获取单个节点的湿度数组,因为它来自 Iron Router 的一个参数:

    Template.graph.helpers({
      humid: function() {
        if( Router.current().params._id ) {
          let node = Nodes.findOne({ _id: Router.current().params._id });
          if( node ) {
            return node.humidity;
          }
        }
      }
    });
    

    希望对您有所帮助!您应该能够修改您的模板以从那里获得您想要的内容。

    【讨论】:

    • 我是 Meteor 的新手,大约 3 周。我想我在 Iron Router 上设置了参数Router.route('/:_id', {name: 'NodePage', data: function() { return Nodes.findOne(this.params._id); }}); 虽然我不太确定 HTML。我只使用过{{#each}} 外壳。我正在查找其他类型。
    • 我会投票,但我没有足够的积分。但它奏效了。在 HTML 中,我将其更改为 {{humid}} &lt;ul&gt;{{node.name}} {{#each node.humidity}} &lt;a&gt;{{this}}&lt;/a&gt; {{/each}} &lt;/ul&gt;,现在它以逗号显示数字。我不需要这个作为最终代码,但这正是我现在需要完成的。稍后我将不得不使用它来循环浏览并将这个数组以某种方式发布到一个grapher中。不同的问题。虽然非常感谢先生。逗号是否会影响图形方程的数据输入?
    • 嗯,这真的很奇怪,如果没有更多代码,我无法确定发生了什么。不过,它可能会影响图表的工作方式,是的。
    • 我发现逗号就在那里,因为我正在打印出数组本身,所以有逗号。所以这在代码方面会很好,因为无论如何我都会得到前 100 分。
    猜你喜欢
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多