Meteor 响应式

如果说集合是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');

});

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • Meteor是一个基于Nodejs+Websocket+MongoDB的Web应用程序开发平台。Metror的七个...
    IT小C阅读 5,619评论 2 9
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • github地址,欢迎大家提交更新。 express() express()用来创建一个Express的程序。ex...
    Programmer客栈阅读 2,621评论 0 1
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,378评论 11 349