Я работаю с Angular JS и Yii2. В одном из моих PHP контроллеров мне нужно передать массив данных из внутреннего интерфейса к переднему концу, поэтому я JSON кодирующее мой PHP массив и установив вар в представлении следующим образом:Лучший способ передать JSON от контроллера PHP до контроллера AngularJS?
$script = "var projects = '".json_encode($projects)."';";
$this->view->registerJs($script, View::POS_END);
Тогда в моем угловом контроллере Я получаю данные JSON следующим образом:
app.controller('ProjectsController', ['$scope', function($scope, args){
$scope.projects;
$scope.init = function(){
$scope.projects = angular.fromJson(projects);
};
$scope.init();
}]);
Мой вопрос в том, что это хорошая форма? Есть ли правильный/неправильный способ обработки данных, подобных этому при загрузке страницы с помощью Angular?
Приветствия
Ash
'$ script =" var projects = ".json_encode ($ projects)."; "; ... $ scope.projects = projects;' – Musa
Я больше об использовании метода init для настройки данных в моем контроллер такой. Musa ваше исправление к коду не работает - вы не можете использовать повторяемость, если json не импортирован должным образом. –
, если вы не используете fromJson, тогда вы просто устанавливаете $ scope.projects как строку, а не массив –