den folgenden Dienst Da ein "Dialog" Element zu schaffen gemeint ist (dh ein modal):
app.service('dialog', ['$document', '$compile', '$rootScope',
function($document, $compile, $rootScope) {
var body = $document.find('body');
var scope = $rootScope.$new();
this.createDialog = function() {
var dialogElem = angular.element('<div ng-include="\'/dialog.html\'"></div>');
$compile(dialogElem)(scope);
body.append(dialogElem);
};
}
]);
die wie so in einer Steuerung eingesetzt werden kann:
$scope.someFunction = function() {
dialog.createDialog();
};
Gibt es eine Möglichkeit dass ich $compile
oder irgendetwas anderes verwenden kann, um HTML in meinem Service nicht zu haben? Ich würde wirklich lieber nur eine Richtlinie berufen, so dass die Ausführung createDialog()
unverzüglich eine Richtlinie in meinen DOM einspritzt und somit ist die Richtlinie für zuständig einen neuen Controller und Vorlage zusammen zu verbinden. Wenn ich das falsch mache, bin ich offen für konstruktive Ideen.
Öffnen Ich habe es nur hier http: //stackoverflow.com/questions/25043436/angularjs-controller-in-partialview-not-working/25043850#25043850 – coma
Danke für den Link. Ich bin mir nicht sicher, ob ich dem, was sich von dieser Antwort unterscheidet, im Vergleich zu dem, was ich oben gepostet habe, folge. Im Kern versuche ich auch, in solchen Diensten nicht loses HTML zu haben. –
Welche HTML? die eine inline?, greifen Sie es einfach als Vorlage von einer URL, ist das? – coma