美文网首页
Meteor 响应式

Meteor 响应式

作者: starwmx520 | 来源:发表于2015-11-20 15:27 被阅读0次

    如果说集合是meteor的核心功能,那么响应式可以能让这个核心 功能更强大。

    集合从根据上改变你的应用程序的数据处理方式。

    而不必手动检查数据更改,再根据这些变化 去修改html页面,meteor可以随时

    检测到数据的更改,并将它无缝地应用到你的用户界面上。

    meteor函数响应式计算            可以触发变化 的响应式数据源

    Templates                        session变量

    Tracker.autorun                  Collection的数据库请求

    Template.autorun                Meteor.status

    Blaze.render                    Meteor.user

    Blaze.renderWithData            Meteor.userId

    调用响应式数据

    实时性的方法是通过使用.observe(),当指向数据的指针发生改变时就会触发

    回调。

    Posts.find().observe({

    added:function(post){

    //jq处理添加标签

    },changed:function(post){

    //jq修改变化 的标签

    },removed:function(post){

    //jq删除指定数据的标签

    }

    })

    声明式方法的核心是响应式,这种声明让我们定义了对象之间的关系,

    并让他们保持同步,而我们就不必为每个的可能发生的修改去指定相应的行为。

    响应式变量


    1、reactiveVar介绍

    不同于内置的session,ReactiveVar要添加一个包:

    meteor add reactive-var

    和session十分相似只有一些区别:

    ReactiveVars没有全局的名称,像"foo"和session.get("foo")

    相反,它们是在本地创建或使用,例如,添加一个模板实例,像this.foo.get()一样。

    Reactivevars没法有自动在hot code pushes迁移,但是session状态是.

    它可以设置成任何值,但session只能限制为json和ejson

    2、ReactiveVar使用场景\

    模板变量.reactiveVarName.set(0)

    模板变量.reactiveVarName.get()

    this.aa.set()

    this.aa.get()

    reactivevar的使用和session不同,我们需要在模板实例中获得它。

    这是因为这样使得我们能够在整个模板中获得reactivevar,无需使用全局

    的session变量,并创建一个响应式的数据源来连接模板实例。

    Meteor.startup(function(){

    Tracker.autorun(function(){console.log('There are '+ Posts.find().count() +' posts');

    });

    });

    相关文章

      网友评论

          本文标题:Meteor 响应式

          本文链接:https://www.haomeiwen.com/subject/jlblhttx.html