首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML元素与DB文档(行)的连接

HTML元素与DB文档(行)的连接
EN

Stack Overflow用户
提问于 2015-03-03 22:46:03
回答 1查看 41关注 0票数 1

我正在从这本书http://meteortips.com/book/中学习Meteor,我不明白元素的识别是如何工作的。

我有一个循环:

代码语言:javascript
运行
复制
{{#each player}}
    <li class="player {{selectedClass}}">{{_id}} {{name}}: {{score}}</li>
{{/each}}

Inside player变量如下:

代码语言:javascript
运行
复制
'player': function(){
    return PlayersList.find();
},

PlayersList是一些收集球员和他们的分数。

"li“元素的"this._id”如何在“每个”循环中返回与{{_id}}相同的值?

代码语言:javascript
运行
复制
   'click li.player': function(){
        var playerId = this._id;
   }

如果"li“元素在”每一个“循环中,那么Meteor会自动设置它的值,这些值位于环形文档(PlayersList)的文件中,然后可以通过"this”关键字访问?或者通过"this“关键字一般可以访问什么?

谢谢你的解释..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-03 23:04:05

在Meteor模板中有一个当前数据上下文的概念,您可以使用以下几种方法来设置这个当前数据上下文:

  • {{#each}}块帮助程序将当前数据上下文设置为集合的当前迭代项(Mongo.Collection游标或普通数组)。
  • {{#with}}块帮助程序将当前数据上下文设置为传入的任何参数。
  • 使用模板包含语法,您可以将当前数据上下文作为参数({{> myTemplate dataContext}})传递,同样,您也可以使用动态模板包含语法{{> Template.dynamic template="myTemplate" data=dataContext}}动态地包含任何模板和任何数据上下文。
  • 使用iron:router,您可以为您的路由分配一个模板和一个数据上下文(以类似于动态模板包含的方式)。

其结果是,在JS中的模板帮助程序和模板事件中,this关键字总是引用当前的数据上下文。

  • 对于helpers,当前数据上下文与在Spacebar模板(HTML)中调用助手的位置相同。
  • 在事件的情况下,当前数据上下文对应于元素的目标。

特别地,这意味着在click li.player事件中,当前数据上下文将是<li>项之一,这是由{{#each}}循环迭代的player文档。

还有其他访问当前数据上下文的选项,模板实例上声明了只读data 属性,还有一个名为Template.currentData()的特殊函数

诚然,这有点令人困惑,下一个版本的Blaze ( Meteor模板渲染引擎)即将推出的特性之一就是通过确保更好的一致性和更好的可读性来解决这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28843502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档