javascript - Meteor Blaze - 区分类别

标签 javascript mongodb meteor meteor-blaze

在我当前的项目中,用户可以创建帖子,并且每个帖子都会在页面上迭代。

我遇到了类冲突的问题。

我有一个具有 attend 类的复选框,但它与其他帖子以及我创建的 'click .attend' 函数冲突。

有没有办法为每个帖子创建一个独特的类?

我尝试过这样做:

<input type="checkbox" id="check" class="{{this._id}}" checked="" />

但是该函数不允许

'click .this._id'  

我不知道该做什么。

最佳答案

听起来你的处理方式有点错误。您可以拥有相同的类(class),但您需要为每个帖子放置一个模板。该模板可以轻松地为该模板的每个实例获取正确的类。

    <head>
  <title>demosub</title>
</head>

<body>
  <h1>Welcome to Meteor!</h1>

  {{> allposts}}

</body>
<template name="allposts">
   {{#each posts}}
      {{> thepost }}
   {{/each}}
</template>

<template name="thepost">
   <div>
     <span>{{_id}}</span>
      <input type="checkbox" class="attend" checked="" />
    </div>
</template>

然后在模板“thepost”的事件代码中

import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';

import './main.html';


Template.allposts.helpers({
  posts() {
    return [{_id: 1}, {_id: 2}]
  },
});

Template.thepost.events({
  'click .attend': function(e,t){
    var data = Template.instance().data  // this is your post...
    console.log(e.toElement.checked)
    console.log(data)
  }
})

在下面您可以看到我点击每个复选框的位置以及它如何知道点击了哪个帖子:-

enter image description here

模板事件知道“attend”类上的单击事件与模板的实例关联,并调用该事件处理程序。

关于javascript - Meteor Blaze - 区分类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42335489/

相关文章:

php - 这是优化吗?

javascript - 单个元素中的多个文本节点?

node.js - Meteor远程ddp连接集合不允许更新操作

javascript - meteor 中的多个数据库保持 react 性

javascript - 如何让div保持在视口(viewport)的中心

javascript - 密码验证不起作用

javascript - 不同的浏览器如何处理多个选择的选项

python - 更改 mongodb 数据库中集合中字段的类型

map 内的 Mongodb $elemMatch 查询

mongodb - 从 Grails 应用程序更新 Mongo 文档字段