Необходимо взять значение из angular.copy($scope.$$childHead.input, ....).
В аналогичном коде значения приходят. У меня не приходят и пишет undefined.
Как они туда попадают с формы?
upd2
На форме присутствуют input-поля
<form class="form-horizontal">
<div ng-model="input" fb-form="{{id}}"></div>
</form>
//рядом кнопка для save c on-click=onSaveClick()
1) file2.js
Потом срабатывает controller, который чекает id и выстраивает input массив:
.controller('fbFormController', [
'$scope', '$injector', function ($scope, $injector)
{
//здесь инициализация input
}
2) file3.js
Здесь лежит $on для save:
$scope.onSaveClick = function ()
{
...
$scope.$root.$broadcast($scope.broadcastChannel.save);
};
3) file4.js
И здесь уже срабатывает save:
$scope.$on($scope.broadcastChannel.save, function (event)
{
...
$validator.validate($scope).success(function()
{
save();
}
}
function save()
{
...
var inputCopy = formService.transformInputValues(angular.copy($scope.$$childHead.input), $scope.model.linkEditor.selectedForm.layout);
...
}
При вызове события broadcastChannel.save можно передавать любые данные. В данном случае можно передать значение input.
$scope.onSaveLinkEditorClick = function ()
{
...
$scope.$root.$broadcast($scope.broadcastChannel.save,{input:$scope.input});
};
При получении события broadcastChannel.save переданные данные можно получить.
$scope.$on($scope.broadcastChannel.save, function (event, data)
{
...
$validator.validate($scope).success(function()
{
save();
}
}
function save()
{
...
// если data есть, то берем его, если нету, то пытаемся найти через $scope.$$childHead
var inputCopy = formService.transformInputValues(angular.copy(data? data.input: $scope.$$childHead.input), $scope.model.linkEditor.selectedForm.layout);
...
}
Продвижение своими сайтами как стратегия роста и независимости