Je suis assez nouveau avec Angular et j'ai lu beaucoup de fils de discussion ici et j'ai cherché ce sujet sur Google mais je n'arrive pas à obtenir une réponse claire. Ce que j'essaie vraiment d'accomplir est. supposons que j'ai un contrôleur A, c'est une source réelle de données. Je les ai transmises à une directive en les liant à un HTML. A partir de cette directive, je récupère en fait la source dans un autre contrôleur. J'ai donc besoin de trouver le moyen de changer les données du contrôleur lorsque les données du contrôleur A sont modifiées.
Contrôleur A
angular.module('page.leadAndOpportunity.ctrl', []).controller('LeadAndOpportunityController', ['$scope', '$rootScope', '$timeout', function ($scope, $rootScope, $timeout, leadAndOpportunityService) {
$scope.selectDataSource = function (condition) {
var dataSource = [];
var dataSource = $scope.leadsDataSource.filter(function (item) {
return item.typeName === condition;
});
$scope.leadsDataSource = [];
$scope.leadsDataSource = dataSource;
console.log($scope.leadsDataSource);
}
}]);
HTML
<ng-senab-grid datasource="{{ leadsDataSource }}" defaultdata="{{defaultColumns}}" skipdata="{{ skipColumns }}" enablepersonalisation="true"></ng-senab-grid>
Directive
angular.module('page.gridView.drct', []).directive("ngSenabGrid", ["$rootScope", function ($rootScope) {
return {
restrict: "E",
templateUrl: "pages/gridView/page.gridView.tpl.html",
scope: {
enablePersonalisation: "@enablepersonalisation",
datasource: "@datasource",
defaultdata: "@defaultdata",
skipdata: "@skipdata"
},
}
}]
);
Contrôleur B
var _datasource = JSON.parse($scope.datasource);
//rest the data follows
Alors quand $scope.leadsDataSource
obtient des changements sur Contrôleur A alors le
var _datasource = JSON.parse($scope.datasource);
devrait également être modifié
Je ne sais pas si c'est possible ou non. Mais j'ai besoin de modifier les données Merci d'avance