将值从后端传递到前端的 AngularJS 的最佳方法是什么?我正在使用 Django,模板能够吐出我需要的值,但是我不确定将这些值传递给 AngularJS 的最佳实践是什么。
想想一篇博客文章及其评论,如果我有一个 AngularJS 服务,它通过将文章 ID 传递给服务来检索某个博客文章的所有评论,并且 Django 正在呈现 HTML 模板并且它确实知道文章 ID 是什么,但是我需要将此帖子 ID 传递给 AngularJS,然后再传递给服务。
一个想法是将它隐藏起来<input>
并将这个输入分配给模型。不是很吸引人。
另一个是有一个指令并将属性中的这个值传递给这个指令,这样我就可以访问这个属性的值:
// Django (or any backend) is rendering {{ object.value }}
<div class="myDirective" data-object-id={{ object.value }}>
...
</div>
angular.module('myDirectives', []).
directive('myDirective', function() {
return {
restrict: 'C',
transclude: false,
link: function postLink($scope, $element, $attrs) {
// $attrs.objectId would have the value
}
}
});
这两种方法看起来不错。但我想知道是否有更清洁的方法来做到这一点?遵循 AngularJS 最佳实践的任何方法?