请指出我这里出了什么问题。使用不同的第三方控制器,不能作为服务。所以我在我的指令中使用了那个控制器。当我点击指令中的元素时,我无法获得父$ 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就像是指令的模板。