AngularJS: Direktive kann nicht auf isolierte Bereichsobjekte zugreifen

Ich versuche, einige Standardwerte in meine Direktive mit Isolate scope einzufügen. Grundsätzlich muss ich einige DOM-Manipulationen mit dem scope-Objekt durchführen, wenn meine Direktive gebunden ist. Unten ist mein Code:

Regler:

angular.module('ctrl').controller('TempCtrl', function($scope, $location, $window, $timeout, RestService, CommonSerivce) {

$scope.showAppEditWindow = function() {
    //Binding the directive isolate scope objects with parent scope objects
    $scope.asAppObj = $scope.appObj;
    $scope.asAppSubs = $scope.appSubscriptions;

    //Making Initial Settings
    CommonSerivce.broadcastFunction('doDirectiveBroadcast', "");
};

Bedienung:

angular.module('Services').factory('CommonSerivce', function ($rootScope) {
return {       
    broadcastFunction: function(listener, args) {
        $rootScope.$broadcast(listener, args);
    }
};

Richtlinie:

angular.module('directives').directive('tempDirective', function() {
return {
    restrict : 'E',
    scope:{
        appObj:'=asAppObj',
        appSubs: '=asAppSubs'
    },
    link : function(scope, element, attrs) {},
    controller : function ($scope,Services,CommonSerivce) {         
        //Broadcast Listener 
        $scope.$on('doDirectiveBroadcast', function (event, args) {
            $scope.setDefaults();
        });

        $scope.setDefaults = function() {
            //Setting Default Value
            alert(JSON.stringify($scope.appSubs)); //Coming as undefined            
        };
    },
    templateUrl:"../template.html"
    };
});

Element der Zollrichtlinie:

<temp-directive as-app-obj="asAppObj" as-app-subs="asAppSubs" />

Das Problem ist nun, dass ich beim Versuch, auf den Isolationsbereich in der Standardmethode innerhalb der Direktive zuzugreifen, einen undefinierten Wert erhalte, während die Daten kommen und an das DOM gebunden werden. Wie kann ich auf den Isolate-Bereich im Broadcast-Listener zugreifen und das HTML der Direktivenvorlage ändern? Gibt es eine andere Möglichkeit, damit umzugehen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage