Meteor 流星-反应性对象/类别
TLDR 我喜欢真正专注于使业务逻辑远离视图模型/控制器。我觉得这在《流星》中有时很难做到。也许我没有抓住重点,但我追求的是两件事中的一件: 1) 这是一个非常好的文档,在非常低的层次上解释了如何使用反应值。 2) 一种以某种方式管理对象的包,这样,如果任何setter被更改,它们都会通知所有会因此更改的get函数 不幸的是,我也没见过 我的例子 我有一个相当多的ob业务逻辑坐在一个用来记录咨询的对话框后面。我可能有一个设置状态更改的事件 我想在活动中做一些类似的事情:Meteor 流星-反应性对象/类别,meteor,meteor-helper,Meteor,Meteor Helper,TLDR 我喜欢真正专注于使业务逻辑远离视图模型/控制器。我觉得这在《流星》中有时很难做到。也许我没有抓住重点,但我追求的是两件事中的一件: 1) 这是一个非常好的文档,在非常低的层次上解释了如何使用反应值。 2) 一种以某种方式管理对象的包,这样,如果任何setter被更改,它们都会通知所有会因此更改的get函数 不幸的是,我也没见过 我的例子 我有一个相当多的ob业务逻辑坐在一个用来记录咨询的对话框后面。我可能有一个设置状态更改的事件 我想在活动中做一些类似的事情: const cc = n
const cc = new ConsultationEditor();
cc.setChiefComplaint(event.target.value);
console.log(cc.data());
ConsultationDict.set("consEdit", cc.data() );
当用户更新了这个值后,我想根据更改显示一些字段。为此,我有一个具有以下功能的助手:
fields: function(){
console.log("trying to get fields");
const obj = ConsultationDict.get('consEdit');
cc = new ConsultationEditor(obj);
return cc.getFields();
}
但不幸的是,这对我不起作用 你的咨询是什么 按照您描述它的方式,您希望它是一个
ReactiveDict
,就像官方的ReactiveDict包一样
查看本教程中的示例:
如果您确实需要对您的反应性进行更多微调,您还可以设置一个依赖项跟踪器tracker=new tracker.dependency
,然后在使用tracker.changed()
更改变量的任何地方引用它,以及在哪里需要使用tracker.dependent()
通知数据,如下所示:
var favoriteFood = "apples";
var favoriteFoodDep = new Tracker.Dependency;
var getFavoriteFood = function () {
favoriteFoodDep.depend();
return favoriteFood;
};
var setFavoriteFood = function (newValue) {
favoriteFood = newValue;
favoriteFoodDep.changed();
};
getFavoriteFood();
请参见此处的完整跟踪器文档:
我还发现这一要点对于构建反应对象非常有用:
对于ViewModel类型的行为,请查看
我希望这能有所帮助。咨询ICT是一个被动的命令。我让它工作了,但在我写上述内容时有些奇怪,在做了其他更改后,我现在无法复制它。很抱歉