基本上我是从PHP向Angular JS发送一个变量。我将PHP变量回显到ng-init标记中,并且它正确呈现(ng-init =“listing = 5; user = 59”)。
<div id="content" ng-app="galleryApp" ng-controller="galleryController"
ng-init="listing=<?php echo $lid ?>;user=<?php echo $sessionUser ?>">
但是,在我的角度JS代码中,当我记录变量时,它们会变为未定义。
var galleryApp = angular.module('galleryApp', []);
function galleryController ($scope, $http, $log) {
console.log($scope.listing); // <-- undefined
console.log($scope.user); // <-- undefined
var postData = { listing : $scope.listing, user: $scope.user };
答案 0 :(得分:1)
在ng-init
之前调用控制器的构造函数。如果您考虑一下,控制器的$scope
必须在ng-init
添加内容之前存在。
如果您向控制器范围内的属性添加$watch
,如果所有设置都正确,您应该会看到它发生变化:
function galleryController ($scope, $http, $log) {
$scope.$watch('listing', function(value) { console.log(value); });
$scope.$watch('user', function(value) { console.log(value); });
var postData = { listing : $scope.listing, user: $scope.user };