Скажем, у меня есть два свойства 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, и я пытаюсь использовать Bacon в приложении Angular, но мне тяжело обворачивать его вокруг.
Любые советы будут оценены.
Внимание! Это изменит исходный дочерний объект. Если какой-либо другой код прослушивает дочерний поток, он может или не может получить объединенный дочерний объект. Кроме того, когда родительский поток испускает новые значения, эти значения будут объединены с уже объединенным дочерним объектом. Вы можете использовать 'return _.merge ({}, p1, p2);', чтобы исправить это. – AgentME
@AgentME Большое спасибо за подсказку. –
'Bacon.combineWith (R.merge, ребенок, одежда)' будет делать это без изменения чего-либо – galileopy