我正在使用Angular JS和Yii2。在我的一个PHP控制器中,我需要将数据从后端传递到前端,所以我是json编码我的php数组并在视图中设置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的页面加载数据?
干杯
灰
答案 0 :(得分:1)
我认为你需要做这样的事情
app.controller('ProjectsController', ['$scope', '$window', function($scope, $window){
$scope.projects = angular.fromJson($window.projects);
如果您愿意,可以使用您的init函数方法,重要的部分是使用$ window服务。