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');

});

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值