如何在使用不同的控制器时获取指令内的父$ scope对象?

时间:2016-03-28 12:56:29

标签: angularjs

请指出我这里出了什么问题。使用不同的第三方控制器,不能作为服务。所以我在我的指令中使用了那个控制器。当我点击指令中的元素时,我无法获得父$ scope。这是什么问题。

我的

--profile.html--- directive template

<div ng-controller="commonCtrl"> userData: {{allData }}
    <a ng-click="printData();">click here</a>
</div>

angular.module('app.core')
.directive('profilePage', DirectiveFunction1 )
.controller('ProfileCtrl', ControllerFunction);

function DirectiveFunction1 (config,service) { 
     var directive = {
        restrict: 'E',
        templateUrl: 'profile.html',
        controller: 'ProfileCtrl',
        link:function (scope, element, attrs) {}
     }
    return directive;
}

ControllerFunction.$inject = ['$scope', 'config'];

/* @ngInject */
function ControllerFunction($scope, config) {
       $scope.printData = function(){
      // data is not coming here - whats going wrong here
        console.log($scope.allData);
}
}

并且在不同的文件中我有一些像这样的第三方控制器。

angular.module('app.core')
.controller('commonCtrl', commonController);

commonController.$inject = ['$scope']

function commonController($scope){
  $scope.allData = "{user":userDetails}"
}

我的profile.html就像是指令的模板。

0 个答案:

没有答案