首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Chrome DevTools不能显示一个对象的所有属性?

为什么Chrome DevTools不能显示一个对象的所有属性?
EN

Stack Overflow用户
提问于 2018-12-06 06:02:38
回答 1查看 897关注 0票数 0

这是一张Chrome DevTools的截图,捕捉到了一个断点。

正如我在注释中指出的,监视窗格显示变量markerClusterer具有属性clearMarkers,但是在Scope窗格中,该属性不会在任何地方列出。

为什么?

如果有什么不同的话,我使用的是AngularJS 1.7.5框架,这段代码在控制器中。代码粘贴在屏幕截图下面。我不需要任何关于angular风格或最佳实践的评论--这只是一个基于在线演示的概念证明。我只是发布代码,以防它有助于解释为什么DevTools没有显示所有存在的属性。

代码语言:javascript
复制
<!DOCTYPE html>
<html ng-app="myApp">

<head>
    <title>Dynamic ngMap demo</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>

</head>

<body>

<div ng-controller="mapController">
    <div map-lazy-load="https://maps.google.com/maps/api/js?key=hidden" ng-if="show()">

        <map zoom="2" center="[43.6650000, -79.4103000]">

        </map>
    </div>
    <button ng-click="update()">update</button>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"
        integrity="sha256-7/yoZS3548fXSRXqc/xYzjsmuW3sFKzuvOCHd06Pmps=" crossorigin="anonymous"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.js"
        integrity="sha256-RflTGBQTyWuRHcjjgRTBrkLLntUWrNMmqMBV6vB7+Lw=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/ngmap@1.18.5/build/scripts/ng-map.js"
        integrity="sha256-n5o9oKQB0Zkoty1KgnVig31eV4ceJzLWtzWAq6E2gqs=" crossorigin="anonymous"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/markerclustererplus/2.1.4/markerclusterer.js"
        integrity="sha256-NcAKtiP/C7H0jWpFCoXdc0Oi6DMIyXTc3yhyF6F9efI=" crossorigin="anonymous"></script>

<script>

  MarkerClusterer.prototype.MARKER_CLUSTER_IMAGE_PATH_ = 'https://raw.githubusercontent.com/googlemaps/js-marker-clusterer/gh-pages/images/m';  //changed image path
</script>

<!-- scripts/markers.js just defines an array:
var markers = [...]
-->
<script src="scripts/markers.js"></script>
<script>
  var app = angular.module('myApp', ['ngMap']);

  app.controller('mapController', function ($scope, $http, $interval, NgMap, $timeout) {

    $scope.dynMarkers = [];

    function data() {
      return _.sampleSize(markers, 1000)
    }

    var markerClusterer;

    function update() {

      if (_.isFunction(_.get(markerClusterer, 'clearMarkers'))){
        markerClusterer.clearMarkers();
      }
      showing = false;
      showing = true;

      let sampled = data();
      $scope.dynMarkers = [];

      NgMap.getMap().then(function (map) {

        for (var i = 0; i < 1000; i++) {
          var latLng = new google.maps.LatLng(sampled[i].position[0], sampled[i].position[1]);

          let marker = new google.maps.Marker({position: latLng});
          console.log(marker);
          $scope.dynMarkers.push(marker);

        }

        markerClusterer = new MarkerClusterer(map, $scope.dynMarkers, {});

      });


    }

    update();

    _.extend($scope, {
      update,
      markerClusterer
    });
  });


</script>
</body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2018-12-06 06:02:38

我是在写这个问题的时候想出来的。

展开__proto__会显示缺少的属性!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53641436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档