将JSON从PHP控制器传递到AngularJS控制器的最佳方式


Best way to pass JSON from PHP controller to AngularJS controller?

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

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

然后在我的Angular控制器中,我得到了如下的JSON数据:

app.controller('ProjectsController', ['$scope', function($scope, args){
   $scope.projects;    
   $scope.init = function(){
       $scope.projects = angular.fromJson(projects);
   };
   $scope.init();
}]);

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

干杯

灰分

我认为你需要做一些类似的事情

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

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