【发布时间】:2012-11-12 13:46:41
【问题描述】:
在前端将值从后端传递到 AngularJS 的最佳方式是什么?我正在使用 Django,模板能够吐出我需要的值,但是我不确定将这些值传递给 AngularJS 的最佳做法是什么。
想想一篇博客文章及其 cmets,如果我有一个 AngularJS 服务,它通过将文章 ID 传递给该服务来检索某个博客文章的所有 cmets,并且 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 最佳实践的方法?
【问题讨论】:
标签: angularjs