首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用meteor.js响应调用js函数/事件

问使用meteor.js响应调用js函数/事件
EN

Stack Overflow用户
提问于 2016-08-16 06:51:58
回答 3查看 71关注 0票数 1

我是meteor.js的新手。还是习惯了。我了解模板是如何根据服务器上的游标更新主动更新的,如下所示:

代码语言:javascript
复制
 {{#if waitingforsomething.length}} Something Happened! {{/if}}

这有利于在页面上显示元素、更新列表和内容。现在,我的问题是:如果我想调用一些javascript或者在某些事情被动态更新时触发一些事件,该怎么办?用meteor.js做这件事的正确方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-18 12:40:21

Tracker.autorun或this.autorun中的任何内容都会随这些autoruns中的反应性数据源的变化而运行。

反应性数据源是ReactiveVar实例、db查询、Session变量等。

代码语言:javascript
复制
Template.myTemplate.onCreated(function() {

  // Let's define some reactive data source
  this.reactive = new ReactiveVar(0);

  // And put it inside this.autorun
  this.autorun(() => console.log(this.reactive.get()));
});

Template.myTemplate.events({
  // Now whenever you click we assign new value
  // to our reactive var and this fires
  // our console.log
  'click'(event, template) {
    let inc = template.reactive.get() + 1;
    template.reactive.set(inc);
  }
});
票数 1
EN

Stack Overflow用户

发布于 2016-08-16 07:15:10

这是有点过时,但萨查·格里夫是一个非常快速和简洁的介绍流星的反应性模型。

基本上,您有所谓的reactive computations,用于观察特殊数据对象(sessions、subscriptions、cursors等)的代码。并在任何这些reactive sources更改时都会被执行。

这是通过跟踪器API公开的

票数 1
EN

Stack Overflow用户

发布于 2016-08-16 14:43:27

计算对我来说很好:

代码语言:javascript
复制
  Template.myTemplate.onRendered(function() {
        this.computation = Deps.autorun(function () {
            if (something) {
                $(".reactive").html("Something Happened!");
            }
         });
    });

Template.myTemplate.destroyed = function(){
    if (this.computation){
        this.computation.stop()
    }
};

我希望这能帮到你。

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

https://stackoverflow.com/questions/38968326

复制
相关文章

相似问题

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