meteor – 从currentView获取jQuery元素

在api文档中,可以使用选择器找到当前模板实例视图,前提是选择器的属性是已知的.

template.findAll(selector)
template.$(selector)

我也知道可以从Blaze.currentView或template.view获取视图,但是可以从Blaze.currentView或template.view获取jQuery元素吗?我想这样做,因为我不知道模板实例的属性提前.

最佳答案 您可以使用以下命令访问与模板实例或视图关联的第一个和最后一个DOM节点:

>模板实例上的firstNode和lastNode属性.
> Blaze.View实例上的firstNode()和lastNode()方法.

当您检索DOM元素时,您可以像往常一样使用$function从中构建jQuery对象.
HTML

<template name="test">
  <p>First paragraph</p>
  <p>Last paragraph</p>
</template>

JS

Template.test.rendered=function(){
  var $firstNode=$(this.firstNode);
  $firstNode.css("backgroundColor","red");
  //
  var $lastNode=$(this.view.lastNode());
  $lastNode.css("backgroundColor","green");
};

看看Blaze.View这里的完整文档:http://docs.meteor.com/#/full/blaze_view

点赞