Ich habe noch ein anderes Problem mit der Verkleinerung. Diesmal wegen des $ scope-Dienstes, der an den Controller der Direktive übergeben wurde. Siehe unten Code:AngularJS: Minification Problem in der Direktive
angular.module('person.directives').
directive("person", ['$dialog', function($dialog) {
return {
restrict: "E",
templateUrl: "person/views/person.html",
replace: true,
scope: {
myPerson: '='
},
controller: function ($scope)
{
$scope.test = 3;
}
}
}]);
Wenn ich den Controller-Teil auskommentiere, dann funktioniert es gut.
Wie Sie sehen können, habe ich die Array-Deklaration für die Direktive verwendet, so dass der $ -Dialog-Dienst Angular auch nach der Verkleinerung bekannt ist. Aber wie soll ich das für den $ scope Service auf dem Controller tun?
das ist die von mir zur Verfügung gestellte Lösung :) Sam = OP ;-) Allerdings stelle ich den Controller nicht der ganzen Anwendung aus, sondern nur dem gesamten Modul, zu dem die Direktive gehört. Ich mag deine Herangehensweise, ich werde dafür gehen. – Sam
Wenn ein AngularJS-Modul tatsächlich einem AngularJS-Modul ausgesetzt würde, hätte dies zur Folge, dass _an__ AngularJS-Modul darauf zugreifen könnte - das habe ich gemeint, indem ich es der gesamten Anwendung aussetzte. –
AngularJS-Module können nur dann auf das Modul person.controllers zugreifen, wenn sie davon abhängig sind. Wenn sie diese Abhängigkeit nicht haben, sollten sie nicht darauf zugreifen können. Ist das nicht richtig? – Sam