Ich habe eine AngularJS-Direktive wie unten gezeigt erstellt. Im zugehörigen Controller berechne ich den Wert einer Variablen text
als "SomeText"
. Ich möchte, dass dieser Text Hello World!!
im template
Attribut der Direktive ersetzt. Wie kann ich es tun?Wie kann ich in AngularJS den Übergabewert vom Controller an das Vorlagenattribut der Richtlinie zurückgeben?
Mein HTML:
<myp-directive myarg="myObject"></myp-directive>
Meine Richtlinie:
myApp.directive('mypDirective',function(){
return {
restrict:'E',
scope: {
myarg: '='
},
controller: 'DirectiveCtrl',
controllerAs: 'directiveCtrl',
bindToController: true,
template: 'Hello World!!'
};
}
);
Mein Controller:
myApp.controller('DirectiveCtrl', function($scope){
var self = this;
$scope.$watch(function() {return self.prediction;}, function (newVal, oldVal)
{
if (newVal !== oldVal && newVal !== null){
var text = "SomeText";
}
});
});
Was meinst du mit "den Text Hallo Welt binden"? Können Sie bitte ein Beispiel mit Code zeigen? Ich möchte nicht, dass das HTML über die Interna der Direktive oder diesen Controller informiert. –
Ich habe eine Geige erstellt, um es zu demontieren - http://jsfiddle.net/pratikjs/ocwujdvu/. –