Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 流星-反应性对象/类别_Meteor_Meteor Helper - Fatal编程技术网

Meteor 流星-反应性对象/类别

Meteor 流星-反应性对象/类别,meteor,meteor-helper,Meteor,Meteor Helper,TLDR 我喜欢真正专注于使业务逻辑远离视图模型/控制器。我觉得这在《流星》中有时很难做到。也许我没有抓住重点,但我追求的是两件事中的一件: 1) 这是一个非常好的文档,在非常低的层次上解释了如何使用反应值。 2) 一种以某种方式管理对象的包,这样,如果任何setter被更改,它们都会通知所有会因此更改的get函数 不幸的是,我也没见过 我的例子 我有一个相当多的ob业务逻辑坐在一个用来记录咨询的对话框后面。我可能有一个设置状态更改的事件 我想在活动中做一些类似的事情: const cc = n

TLDR

我喜欢真正专注于使业务逻辑远离视图模型/控制器。我觉得这在《流星》中有时很难做到。也许我没有抓住重点,但我追求的是两件事中的一件:

1) 这是一个非常好的文档,在非常低的层次上解释了如何使用反应值。 2) 一种以某种方式管理对象的包,这样,如果任何setter被更改,它们都会通知所有会因此更改的get函数

不幸的是,我也没见过

我的例子

我有一个相当多的ob业务逻辑坐在一个用来记录咨询的对话框后面。我可能有一个设置状态更改的事件

我想在活动中做一些类似的事情:

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是一个被动的命令。我让它工作了,但在我写上述内容时有些奇怪,在做了其他更改后,我现在无法复制它。很抱歉