【问题标题】:Django does not renders AngularJS resourceDjango 不呈现 AngularJS 资源
【发布时间】:2013-09-01 19:23:49
【问题描述】:

我正在使用 AngularJS $resource 服务检索数据 django sweetpie,但是在 html 页面上我没有得到除了 li 按钮等于返回的对象,更具体地说,我只有空格,我不知道为什么因为添加了逐字标记。

这是我的代码:

应用文件

var subtitlesApp = angular.module('subtitlesApp', ['ngResource']);

subtitlesApp.controller('SubtitleController', 
function SubtitleController($scope, subtitleData) {
$scope.subtitles = subtitleData.query();
console.log($scope.subtitles);

subtitlesApp.factory('subtitleData', function ($resource) {

return $resource('/api/v1/entry/:id/?format=json', {id:'@id'}, {
    query: {method:'GET', isArray:false}
});
});

html 文件。

<div ng-controller="SubtitleController">
<li ng-repeat="subtitle in subtitles.objects"></li>
<h2> {% verbatim %} {{subtitle.id}} {% endverbatim %}</h2>

</div>

控制台

Resource
meta: Object
objects: Array[4]
0: Object
1: Object
2: Object
3: Object
length: 4
__proto__: Array[0]
__proto__: Resource

提前谢谢你。 :)

【问题讨论】:

  • 我在某个地方看到了将 django 与 Angular.js 一起使用的地方,一个好主意是将部分(角度的模板视图)放在静态目录中,这样 django 将在不做任何更改的情况下渲染它。 (而且你不需要使用逐字标记)
  • 我知道这一点,如果我不解决这种情况,我会选择那种方式,但是如果 $resource 返回单个对象,django 会呈现它。

标签: django api angularjs tastypie


【解决方案1】:

问题在于您的角度模板,而不是 Django。 subtitle 仅在 ng.repeat 范围内,它是 li 元素的一部分 - 但您在打开 li 后立即关闭它。 h2 不属于该范围。

Angular-batarang Chrome 扩展可以帮助您调试此类范围的问题。

【讨论】:

    猜你喜欢
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2017-08-05
    • 2019-11-22
    相关资源
    最近更新 更多