TypeError: Невозможно прочитать свойство 'childNodes' из неопределенного в f (angular.min.js: 62) в angular.min.js: 62 "" - PullRequest
0 голосов
/ 07 июня 2018

Я сталкивался с этим с давних времен, он выбрасывается, когда я пытаюсь привязать данные к переменной в HTML, используя {{}}.Я использовал ngRoute для маршрутизации между разными страницами.Вышеупомянутая ошибка возникает, когда я пытаюсь привязать данные к переменной или ng-model в HTML.

Но она прекрасно работает, когда значение модели уже объявлено в контроллере.

Данные, которые я получаю, поступают из пользовательской службы, которая в конце концов отправляет запрос http GET при вызове из контроллера.

<html ng-app="bgpsApp">
<body>
    <div ng-view></div>
</body>
<!-- scripts loaded in a sequence: 
     jquery, angular.js(1.6.9), angular-route.js,  app.js, customservices.js -->
</html>

app.js

var bgpsapp = angular.module('bgpsApp', ['ngRoute']);
bgpsapp.config(function($routeProvider) {
  $routeProvider
    .when('/', {
      templateUrl: 'brahmagpslogin.html'
    })
    .when('/portal', {
      resolve: {
        "check": function($location, $rootScope) {
          if (!$rootScope.logStatus) {
            $location.path('/');
          }
        }
      },
      templateUrl: 'portal.html'
    })
    .otherwise({
      redirectTo: '/'
    })
})

bgpsapp.controller('MainController', ['$scope', '$rootScope', '$http', 'services', function($scope, $rootScope, $http, services) {
  services.getDashboardData($rootScope.master.userId).then(function(response) {
    $scope.vehiclesStatus = response.data.data.vehiclesStatus;
    console.log($scope.vehiclesStatus); 
    // ** assigning value to bind **
    $scope.vehicleCount = $scope.vehiclesStatus.vehicleCount;
  }, function(response) {
    alert(response.data.message);
  });
}]);

portal.html

<div id="wrapper" ng-controller="MainController">
  <div class="row">
    <div class="col-xs-12 col-sm-12 col-md-7 col-lg-7">
      <h4>Vehicles
        <small> Status</small>
      </h4>
    </div>
    <div class="col-xs-12 col-sm-12 col-md-5 col-lg-5">
      <h4>
        <!-- trying to bind data to this variable -->
        {{vehicleCount}}
        <small>Trucks</small>
      </h4>
    </div>
  </div>
</div>

специальная служба js

bgpsapp.service('services', function($http) {
  this.baseURL = "http://xxx/api/data";
  this.getDashboardData = function(customerId) {
    var d_response = {};
    var response = $http.get(this.baseURL + "/customer/data/dashboard?userId=" + customerId);

    return response;
  }
});
...