Ich benutze Django 1.9 und AngularJS 1.5.Die Direktive rendert HTML, bevor eine Variable einen Wert erhält
Meine Django-Ansicht sieht wie folgt aus:
#hello_world_view.py
def hello_world(request):
t = get_template('hello-world.html')
return HttpResponse(t.render())
Die HTML-Datei wie folgt aussieht:
<-- loading JavaScript files above -->
<helloWorld><HelloWorld>
Der AngularJS Controller ein Versprechen hat, die Daten aus dem Django-REST-API abruft. Es sieht so etwas wie dieses
helloWorld.controller('helloWorldController',
function($scope, $helloWorldService1, $helloWorldService2) {
Promise.all([$hWService1, $hWService2]).then(function(response) {
$scope.service1 = response[0];
$scope.service2 = response[1];
});
});
die Richtlinie wie folgt aussieht:
// helloWorld is already defined as an app.
helloWorld.directive('helloWorldDirective', function() {
return {
restrict:'E',
link: function($scope, $elements, $attributes) {
$scope.$watch('someVariable', function(data) {
if (data) {
$elements.text(data);
}
}, true);
},
templateUrl: '/static/partials/some-template.html'
}
});
Einige Vorlage hat Variablen im Inneren, die auf das Versprechen von der Steuerung abhängig sind aufgelöst werden. Allerdings, wenn ich es über prüfe.
>>> python manage.py runserver
Die Variablen werden nicht gerendert. Ich habe bereits die Tags von {{}} zu [[]] für angularJS geändert, sodass ich weiß, dass Django nicht versehentlich versucht, diese Variablen zu rendern.
Ist was ich gerade mache möglich? Wenn ja, gibt es eine Lösung? Vielen Dank.
EDIT: feste Grammatik.
Fertig, aber es sieht nicht wie es geholfen hat ... Danke, obwohl! –