将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服务。
相关文章:
- 修改控制器AngularJS的全局值
- 从控制器Angularjs调用链接函数
- 共享变量和多个控制器AngularJS
- 未定义的控制器AngularJS
- 将模块注入控制器AngularJs
- 使用工厂/服务在控制器AngularJS之间推送数组中的数据
- 如何更新控制器angularjs中的.value
- 调用另一个控制器Angularjs中的控制器
- 如何访问两个控制器AngularJS
- 如何在多个文件中定义控制器 - AngularJs.
- 从父控制器 AngularjS 访问 Popup 控件
- 从同一控制器 Angularjs 中的另一种方法访问$scope变量
- 将数据从服务传递到控制器 AngularJS
- 在控制器 AngularJS 之间共享功能
- 推送通知发送到控制器 Angularjs
- 工厂没有被注入控制器 - angularJS
- 在控制器 AngularJS 之间传递 ID 值
- 闭包中的多个控制器 angularjs.
- 将服务文件中收到的 Rest 数据发送到控制器 angularjs
- 覆盖不同控制器 Angularjs 中的变量