Как передать данные из контроллера в компонент, чтобы показать пользователю?
app.js
(function(angular) {
'use strict';
angular.module('app', []).controller('MainCtrl', function MainCtrl($scope, $http) {
$http({
method: 'GET',
url: '/team',
}).then(function successCallback(response) {
console.info(response.data);
this.teams = response.data;
$scope.teams = response.data;
// var keys = Object.keys($scope.agendaEventData);
// $scope.eventslength = keys.length;
}, function errorCallback(response) {
});
}).config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
}]);
})(window.angular);
компонент
(function(angular) {
'use strict';
angular.module('app').component('bringTeamToEvent', {
templateUrl: '/assets/ng/app/team/bringTeamToEvent.html',
bindings: {
teams: '<'
},
});
})(window.angular);
Шаблон
{{$ctrl.teams}}
{{teams}}
Данные поступают из API без проблем, я не понимаю сложности, чтобы заставить его работать. Учимся у https://docs.angularjs.org/tutorial/step_13 и https://docs.angularjs.org/guide/component#!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Установка данных на this.teams является правильной и правильной для доступа к ним, как $ctrl.teams. Проблема здесь в том, что ваши функции обратного вызова $http вводят свой собственный контекст функции, поэтому this не относится к компоненту.
По этой причине рекомендуется использовать стрелочные функции для функций обратного вызова:
$http({
method: 'GET',
url: '/team',
}).then(response => {
this.teams = response.data;
}, response => {
});
Вот демо