我正在使用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服务。