Fetching den Namen des Controller
var app = angular.module('app', [])
app.controller('MainController', function MainController() {})
app.controller('directiveCtrl', function directiveCtrl() {})
.directive('controllerName', function($timeout) {
return {
restrict: 'A',
template: '<div>My controller name is: {{cName}}</div>',
controller: 'directiveCtrl',
link: function($scope, elem, attrs) {
var name;
console.log("printing");
name = elem.controller().constructor.name;
$scope.cName = name;
}
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js">
</script>
<div ng-app="app" class="container">
<div id="target" ng-controller="MainController">
<div>Type1</div>
<div controller-name></div>
</div>
***************************************************
<div id="target" ng-controller="MainController">
<div ng-controller="directiveCtrl">Type2
<div controller-name></div>
</div>
</div>
<hr/>
</div>
Hallo, hier habe ich den Namen des Controllers erhalten versuche durch Direktive
- Typ 1: Richtlinie Hier
controller-name
ist mit einem Elternteil Controller namensMainController
und es ist ein eigener Controller in der Richtlinie mit dem NamendirectiveCtrl
definiert ... aber wenn ich versuche, den Controller-Namen ia zugreifen Ich bekomme den Namen alsMainController
nichtdirectiveCtrl
... warum ??? - Typ 2: Hier i den Wert directiveCtrl bin immer wie es draußen ist ... jemand im Detail erklären kann Vielen Dank im Voraus bitte
Was Anwendungsfall für je brauchen würde dies in erster Linie zu tun ? – charlietfl
Wissen und Zeitüberschreitung – Abhishek