如何合并 Bacon.js 中的两个属性
How to merge two properties in Bacon.js
假设我有两个 Bacon.js 属性。一个是子对象——也许只是他的名字。另一个 属性 对象与他或她所穿的衣服 - 裤子颜色和衬衫颜色。
在我的例子中,我使用 Angular-Bacon 从 AngularJS 范围变量创建属性。
如何获得将两者合并在一起的 属性?我希望我可以做类似下面的事情(假设我有 Lodash 可用):
var outfit = $scope.$watchCollectionAsProperty('outfit'); // {shirt: 'blue', pants: 'green'}
var child = $scope.$watchCollectionAsProperty('child'); // {name: 'Jimmy'}
var clothedChild = outfit.map(function(it) {
return _.merge(it, child.value());
});
不过这行不通。
我是 RFP 的新手,正在尝试在 Angular 应用程序中使用培根,但我很难理解它。
如有任何提示,我们将不胜感激。
答案并不像我想的那么复杂 - 我似乎只是不知道要查找的术语。
var clothedChild = Bacon.combineWith(function(p1, p2) {
return _.merge({}, p1, p2);
}, child, outfit);
你也可以
child.combine(outfit, function(child, outfit){
return _.merge({}, child, outfit);
});
短一点。
假设我有两个 Bacon.js 属性。一个是子对象——也许只是他的名字。另一个 属性 对象与他或她所穿的衣服 - 裤子颜色和衬衫颜色。
在我的例子中,我使用 Angular-Bacon 从 AngularJS 范围变量创建属性。
如何获得将两者合并在一起的 属性?我希望我可以做类似下面的事情(假设我有 Lodash 可用):
var outfit = $scope.$watchCollectionAsProperty('outfit'); // {shirt: 'blue', pants: 'green'}
var child = $scope.$watchCollectionAsProperty('child'); // {name: 'Jimmy'}
var clothedChild = outfit.map(function(it) {
return _.merge(it, child.value());
});
不过这行不通。
我是 RFP 的新手,正在尝试在 Angular 应用程序中使用培根,但我很难理解它。
如有任何提示,我们将不胜感激。
答案并不像我想的那么复杂 - 我似乎只是不知道要查找的术语。
var clothedChild = Bacon.combineWith(function(p1, p2) {
return _.merge({}, p1, p2);
}, child, outfit);
你也可以
child.combine(outfit, function(child, outfit){
return _.merge({}, child, outfit);
});
短一点。