javascript - 将 JSON 从 PHP Controller 传递到 AngularJS Controller 的最佳方法?

标签 javascript php json angularjs

我正在使用 Angular JS 和 Yii2。在我的一个 PHP Controller 中,我需要将一组数据从后端传递到前端,因此我对我的 php 数组进行 json 编码,并在 View 中设置一个 var,如下所示:

$script = "var projects = '".json_encode($projects)."';";
$this->view->registerJs($script, View::POS_END);

然后在我的 Angular Controller 中我得到如下 JSON 数据:

app.controller('ProjectsController', ['$scope', function($scope, args){
   $scope.projects;    

   $scope.init = function(){
       $scope.projects = angular.fromJson(projects);
   };

   $scope.init();
}]);

我的问题是,这种形式好吗?使用 Angular 在页面加载时处理此类数据是否有正确/错误的方法?

干杯

Ember

最佳答案

我认为你需要做这样的事情

app.controller('ProjectsController', ['$scope', '$window', function($scope, $window){
   $scope.projects = angular.fromJson($window.projects);

或者如果您愿意,可以使用您的 init 函数方法,重要的部分是使用 $window 服务。

关于javascript - 将 JSON 从 PHP Controller 传递到 AngularJS Controller 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28354094/

相关文章:

ios - 什么是 kCFErrorDomainCFNetwork Code=303

javascript - 卓别林在获取后如何渲染模型? View 如何知道获取已完成?

javascript - AngularJS 模块架构

PHP – 获取目录的大小

php - 如何使用YouTube API上传录音 Assets ?

javascript - 从 JSON 文件中获取特定信息

javascript - 如何获取以子字符串开头的所有 elementID

javascript - Asp.Net&JavaScript : Problem With Image Slide

javascript - 使用 jQuery Ajax 将数据从 MySQL 加载到 JavaScript Array of Array

java - 是否有一些 Java api 将复杂的 JSON 存储到 Cassandra?