AngularJS – 将值从后端传递到前端

前端之家收集整理的这篇文章主要介绍了AngularJS – 将值从后端传递到前端前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
将值从后端传递到前端的AngularJS的最好方法是什么?我使用Django和模板能够吐出我需要的值,但我不知道什么是最好的做法传递这些值到AngularJS。

想一个博客文章及其评论,如果我有一个AngularJS服务,通过传递帖子ID到服务检索某个博客帖子的所有评论,Django正在呈现HTML模板,它知道什么是帖子ID,然而我需要传递这个帖子ID到AngularJS和随后的服务。

一个想法是使其在隐藏的<输入>并将此输入分配给模型。不是很吸引人。

另一个是有一个指令,并将此属性中的值传递给此指令,这样我将能够访问此属性的值:

// 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最佳实践的方法

如果你需要从一个视图初始化一些模型值ng-init指令可能是你正在寻找: http://docs.angularjs.org/api/ng.directive:ngInit

使用它,你可以简单地写:

<div ng-init="myModel=backend-generated-value-here">
   ...
</div>

说到上面的话,你可能有一些困难的时候找到最佳实践为您的用例,因为AngularJS专注于Web2.0,全客户端Web应用程序。目前,它不能理想地与服务器端生成内容。它可能在未来版本的AngularJS中改变。

猜你在找的Angularjs相关文章