我正在使用 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/