Edit : corrected the foo method.
emittieren verwenden bin ich ein Junior in AngularJS, und damit bin zu kämpfen. Ich verwende eine Direktive mit Prototyp-Methoden, und ich würde gerne eine sogar in einer von ihnen ausstrahlen, aber ich konnte es bis jetzt nicht arbeiten lassen.
angular.module('myModule')
.directive('myDirective', function() {
return {
transclude: true,
scope: {
},
bindToController: true,
controller: MyController,
controllerAs: 'myCtrl',
templateUrl: 'template/myTemplate.html'
};
}
);
Dann habe ich den Controller, der so aussieht.
Es sieht so aus, als ob ich mit der $ scope-Injektion versagt habe, da sie nicht definiert ist.
Kann mir jemand sagen, was ich falsch gemacht habe? Das wäre sehr zu begrüßen!
Der Controller-Code ist nicht sinnvoll. Was ist 'StepperCtrl' und wie hängt es mit dem Controller-Code zusammen? – georgeawg
Ich empfehle isolate Bereich Direktiven vermeiden mit $ emit zu kommunizieren, um Ereignisse zu kommunizieren. Kommunizieren Sie stattdessen Ereignisse mit dem Ausdruck '&' binding. – georgeawg
Sie zeigen 'MyController' als Konstruktor und dann eine Prototypmethode von' StepperCtrl' - ist das ein Tippfehler? Wenn das der Fall ist und Sie 'MyController.prototype.foo' verwenden wollten, können Sie' this. $ Scope. $ Emit' in der Prototyp-Methode ausführen, da Sie '.S. $ Scope' bereits im Konstruktor gesetzt haben. – Adam