angularjs:在控制器之间共享数据(加载HTML)

angularjs:在控制器之间共享数据(加载HTML),angularjs,Angularjs,我知道这个问题已经被问过很多次了,但我有一个与控制器之间共享数据有关的不同问题 index.html sharingservice.setobjectdocument.id 我已经为每个Html创建了控制器,例如用于草稿Html的draftcontroller和用于已完成Html的completedcontroller这些都是子控制器 我创建了一个共享服务,用于在顶级控制器和子控制器之间共享数据 adocsModule.factory('SharingService', function (

我知道这个问题已经被问过很多次了,但我有一个与控制器之间共享数据有关的不同问题

index.html

sharingservice.setobjectdocument.id

我已经为每个Html创建了控制器,例如用于草稿Html的draftcontroller和用于已完成Html的completedcontroller这些都是子控制器

我创建了一个共享服务,用于在顶级控制器和子控制器之间共享数据

 adocsModule.factory('SharingService',  function ($rootScope) {

var service = {
    setobject: function (object) {
        $rootScope.$broadcast('docobject', object);
    }
};
return service;});
在儿童控制器中,我是这样做的

   adocsModule.controller('draftcontroller ', ['$scope', 'SharingService', function ($scope, sharingservice) {   
$scope.$on('docobject', function (event, clientDataObject) {        
    alert(clientDataObject); //i know its not recommended its just for testing purpose
    console.log('pendingcontroller ' + clientDataObject);
    $scope.test = clientDataObject;
});}]);
HTML:

问题:

在第一次单击documentLeftPanel时,不会出现任何提示,当我再次单击它时,我会在html面板中看到警报和更改 我觉得这是因为第一次点击时HTML还没有加载,可能是因为子控制器没有监听

在页面加载时加载的子控制器不会动态加载。只是动态加载的HTML


任何帮助都将不胜感激:

您能完成/编辑我的物品吗。我不理解SharingService的setobject方法是在哪里触发的


对不起,我弄错了,它发生在主控制器上。我在我的问题中编辑了它,我用$timeout解决了它,我想它是在加载HTML之前发生的
 adocsModule.factory('SharingService',  function ($rootScope) {

var service = {
    setobject: function (object) {
        $rootScope.$broadcast('docobject', object);
    }
};
return service;});
   adocsModule.controller('draftcontroller ', ['$scope', 'SharingService', function ($scope, sharingservice) {   
$scope.$on('docobject', function (event, clientDataObject) {        
    alert(clientDataObject); //i know its not recommended its just for testing purpose
    console.log('pendingcontroller ' + clientDataObject);
    $scope.test = clientDataObject;
});}]);
   <div ng-controller="draftcontroller "> <span>{{test}}</span></div>