【发布时间】:2016-11-29 02:08:20
【问题描述】:
我正在运行 Django 1.9 和 AngularJS 1.5。
我的 Django 视图如下所示:
#hello_world_view.py
def hello_world(request):
t = get_template('hello-world.html')
return HttpResponse(t.render())
HTML 文件如下所示:
<-- loading JavaScript files above -->
<helloWorld><HelloWorld>
AngularJS 控制器有一个从 Django REST API 检索数据的承诺。它看起来像这样
helloWorld.controller('helloWorldController',
function($scope, $helloWorldService1, $helloWorldService2) {
Promise.all([$hWService1, $hWService2]).then(function(response) {
$scope.service1 = response[0];
$scope.service2 = response[1];
});
});
指令如下所示:
// 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'
}
});
某些模板内部有变量,这些变量依赖于正在解析的控制器的承诺。但是,当我通过它进行测试时。
>>> python manage.py runserver
变量未呈现。我已经将 angularJS 的标签从 {{}} 更改为 [[]],所以我知道不是 Django 不小心尝试渲染这些变量。
我正在做的事情可能吗?如果是这样,有解决办法吗?谢谢。
编辑:固定语法。
【问题讨论】:
标签: javascript angularjs django